これらのレイアウトを使用する。 FlowLayout、BoxLayout、GridLayout、BorderLayout、およびGridBagLayoutは、私のGUIを以下のように見せようとしています。フロー、グリッド、ボーダーを試しましたが、同じように見せてもらえませんでした。シンプルな株式市場アプリケーションの添付写真のようなGUIを作成するにはどうすればよいですか?
答えて
私はあなたが欲しいものを模倣しようとしていた、私はあなたが望んでいたものに少し近づいてきたように思える、コードを見て、イメージを持っている:
import java.awt.*;
import javax.swing.*;
public class MakingLayout extends JFrame
{
public MakingLayout()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
JPanel leftPanel = new JPanel();
JLabel leftLabel = new JLabel("Output : ", JLabel.CENTER);
leftPanel.add(leftLabel);
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.Y_AXIS));
JLabel centerFirstLabel = new JLabel("Google Inc.", JLabel.LEFT);
JLabel centerSecondLabel = new JLabel("Price : 618.405", JLabel.LEFT);
JLabel centerThirdLabel = new JLabel("<html>Change : <font color = red>-4.06 (-0.65%)</font> </html>", JLabel.LEFT);
JLabel centerFourthLabel = new JLabel("Divident : 0.00", JLabel.LEFT);
JLabel centerFifthLabel = new JLabel("Market Cap : 200.38", JLabel.LEFT);
JLabel centerSixthLabel = new JLabel("Stock Exchange : NasdaqNM", JLabel.LEFT);
centerPanel.add(centerFirstLabel);
centerPanel.add(centerSecondLabel);
centerPanel.add(centerThirdLabel);
centerPanel.add(centerFourthLabel);
centerPanel.add(centerFifthLabel);
centerPanel.add(centerSixthLabel);
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 1;
gbc.gridy = 0;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1.0;
gbc.weighty = 0.1;
gbc.anchor = GridBagConstraints.PAGE_START;
JLabel bottomLabel = new JLabel(" Input : ", JLabel.LEFT);
JPanel digitPanel = new JPanel();
JButton[] button = new JButton[10];
for (int i = 0; i < 10; i++)
{
button[i] = new JButton("" + i);
digitPanel.add(button[i]);
}
JPanel topLinePanel = new JPanel();
JButton[] buttonTop = new JButton[11];
buttonTop[0] = new JButton("Q");
buttonTop[1] = new JButton("W");
buttonTop[2] = new JButton("E");
buttonTop[3] = new JButton("R");
buttonTop[4] = new JButton("T");
buttonTop[5] = new JButton("Y");
buttonTop[6] = new JButton("U");
buttonTop[7] = new JButton("I");
buttonTop[8] = new JButton("O");
buttonTop[9] = new JButton("P");
buttonTop[10] = new JButton("DEL");
for (int i = 0; i < 11; i++)
{
topLinePanel.add(buttonTop[i]);
}
JPanel middleLinePanel = new JPanel();
JButton[] buttonMiddle = new JButton[10];
buttonMiddle[0] = new JButton("A");
buttonMiddle[1] = new JButton("S");
buttonMiddle[2] = new JButton("D");
buttonMiddle[3] = new JButton("F");
buttonMiddle[4] = new JButton("G");
buttonMiddle[5] = new JButton("H");
buttonMiddle[6] = new JButton("J");
buttonMiddle[7] = new JButton("K");
buttonMiddle[8] = new JButton("L");
buttonMiddle[9] = new JButton("RET");
for (int i = 0; i < 10; i++)
{
middleLinePanel.add(buttonMiddle[i]);
}
JPanel bottomLinePanel = new JPanel();
JButton[] buttonBottom = new JButton[8];
buttonBottom[0] = new JButton("Z");
buttonBottom[1] = new JButton("X");
buttonBottom[2] = new JButton("C");
buttonBottom[3] = new JButton("V");
buttonBottom[4] = new JButton("B");
buttonBottom[5] = new JButton("N");
buttonBottom[6] = new JButton("M");
buttonBottom[7] = new JButton(".");
for (int i = 0; i < 8; i++)
{
bottomLinePanel.add(buttonBottom[i]);
}
bottomPanel.add(bottomLabel, gbc);
gbc.gridy = 1;
bottomPanel.add(digitPanel, gbc);
gbc.gridy = 2;
bottomPanel.add(topLinePanel, gbc);
gbc.gridy = 3;
bottomPanel.add(middleLinePanel, gbc);
gbc.gridy = 4;
bottomPanel.add(bottomLinePanel, gbc);
contentPane.add(leftPanel, BorderLayout.WEST);
contentPane.add(centerPanel, BorderLayout.CENTER);
contentPane.add(bottomPanel, BorderLayout.PAGE_END);
setContentPane(contentPane);
pack();
setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new MakingLayout();
}
});
}
}
そして、ここでは、の結果でありますコード:
+1 ...いいね! –
@AndrewThompson:ありがとうございました:-) –
ありがとうございました。 –
使用Netbeans IDE Form Editor(それがウェブサイト上で本当にレトロに見える、それが今では本当にうれしいです)。私はGridBagLayoutを使用することをお勧めします。私は知っている、それは厄介なコードですが、Netbeanのフォームエディタを使用すると、あなたがそれを掛けたときに簡単かつ強力です。
topPanel:
-leftPanel:
--outputLable
-rightPanel:
--companyLable
--priceLabel
--changeLabel
--dividentLabel
--marketCapLabel
--stockExchangeLabel
bottomPanel:
-panel1:
--inputLabel
-panel2:
--0Label
--1Label
--etc...
-panel3:
--qLabel
--wLabel
--etc...
-panel4:
--etc...
-panel5:
--etc...
ボタンのラベルには、指定したイメージから割り当てるイメージアイコンがあります。 (イメージのサイズを変更するための良い方法が必要な場合は、私のウェブサイトhereで私のメソッドを見ることができます。私はこれで一番良いと主張しませんが、GUIはかなり良い扱いをしていますフォームエディタ、笑)、その方法は最高ではないかもしれませんが、それは私のためにはうまくいきます:)がんばろう!
- 1. 株式市場シミュレータのJava GUI
- 2. 私のウェブページに添付された写真のようなカレンダーを取得するにはどうすればよいですか?
- 3. Facebookのような複数の写真をアップロードするにはどうすればよいですか?
- 4. このようなGUIを作成するにはどうすればよいですか?
- 5. iOSの添付写真のような削除ポップオーバービューを作成する方法は?
- 6. プロフィール写真の写真を正しくトリミングするにはどうすればよいですか?
- 7. スワイプジェスチャーで写真を表示するギャラリーを作成するにはどうすればよいですか?
- 8. スライドショーの写真にキャプションオーバーレイを作成するにはどうすればよいですか?
- 9. 写真をレールにアップロードするにはどうすればよいですか?
- 10. 写真の場所が特定の場所に到着したときに、写真の場所をリセットするにはどうすればよいですか? ...
- 11. 株式市場API
- 12. このような色付きのGoogleマップを作成するにはどうすればよいですか?
- 13. 写真を整列させるにはどうすればよいですか?
- 14. 写真をインラインで表示しないスリム版のWebアプリケーションを作成するにはどうすればよいですか?
- 15. AWS s3の署名付きURLからメディア(動画、写真)をダウンロードしないようにするにはどうすればよいですか?
- 16. シンプルなシングルトンをどのように作成できますか?
- 17. セットアップファイル作成中に他のサポートセットアップファイルをアプリケーションに添付するにはどうすればいいですか?
- 18. 名前としてタイムスタンプ付きの写真をアップロードするにはどうすればよいですか?
- 19. GUIアプリケーションのビューの自動テストを作成するにはどうすればよいですか?
- 20. 条件が真の場合、新しいオブジェクトを作成するにはどうすればよいですか?
- 21. 2つのMySQLデータベースからシンプルなショッピングカートを作成するにはどうすればよいですか?
- 22. どのような日付形式が「401769」で、これを実際の日付のようにフォーマットするにはどうすればよいですか?
- 23. シンプルなユーザーエージェント検索のためのセールスフォーステストクラスを作成するにはどうすればよいですか?
- 24. 私の写真が「あなたの写真とビデオ」セクションに表示されないようにタグ付けされているのはなぜですか?
- 25. GUI Cocoaアプリケーションのコマンドラインフロントエンドを作成するにはどうすればよいですか?
- 26. Androidアプリで写真を撮り、写真をギャラリーに内蔵ストレージに保存するにはどうすればよいですか? (SDカードではない)
- 27. アプリの脳市場でアプリケーションを公開するにはどうすればよいですか?
- 28. ギャラリーにMediaScanner再挿入写真&それは私のアプリケーションは、写真を作成し、ギャラリーの株式カメラのバケツに挿入する向きや他の分野
- 29. タップイベントをuiwebviewに添付するにはどうすればよいですか?
- 30. Facebookのアプリケーションで生成された写真の友人にタグを付けるにはどうすればよいですか?
2000年代にBMPを接続することは悪い考えでした。 –
なぜ画面上でキーボードをエミュレートしようとしていますか?あなたが見下ろすと、入力しているものはキーボードです。より適切なUIが必要だと思います。また、これらのキーの入力は、上部のUIのものにどのようにマップされますか? –
Netbeans IDEを使用している場合は、これを実行するのはかなり簡単です! – Johnydep