私は現在6つの異なるGUIを作成する必要がある仕事でプロジェクトを強化する作業を進めています。私はGUIの設計が非常に悪いと言い始めるべきです。私はグリッドバッグを学ぼうとしましたが、本当に難しいと感じました。JTextAreaプロジェクトの効率的なGUIデザイン
このGUIでは、私はBorderLayoutとフローレイアウトを使用していて、うまく動作します。私はGUIを作成して目的を達成することができますが、私の他のGUIがJTextFieldsとJLabelsをたくさん持ってしまうと、このメソッドがプロフェッショナルではなく、不要なコードがたくさんあるような気がします。意志)。
ここにあるパネルの量を減らすことができるレイアウトがあるかどうかを知りたいと思います。私はグリッドレイアウトを検討しましたが、すべてのセルが同じサイズであることを心配しています。誰かが、自分の経験から、このプロジェクトのための最良のレイアウトを教えてくれたら助けてくれるかもしれませんし、それをどう使うか私に教えてください。私はGridBagレイアウトのようなレイアウトチュートリアルをやってみましたが、実際に自分のプロジェクトに実装するのに問題があります。
メインクラス
GUI
package gui;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class AllGUI
{
public void createAllGUI(){
JFrame frame = new JFrame("All File Types Selection");
JPanel mainPanel = new JPanel(new BorderLayout());
JPanel panelOne = new JPanel(new BorderLayout());
JPanel panelLine1 = new JPanel(new FlowLayout());
JPanel panelLine2 = new JPanel(new FlowLayout());
JPanel panelLine3 = new JPanel(new FlowLayout());
JPanel panelLine4 = new JPanel(new FlowLayout());
JPanel panelLine5 = new JPanel(new FlowLayout());
JButton confirmButton = new JButton("Confirm");
JLabel groupMessageIdTitle = new JLabel("Group Message Id:");
JLabel isoDateTimeTitle = new JLabel("ISO Creation Date/Time:");
JLabel notificationIdTitle = new JLabel("Notification Id:");
JLabel notificationAcctIdTitle = new JLabel("Notification Account Id:");
JLabel numberOfEntriesTitle = new JLabel("Number of Entries:");
JLabel sumOfAmountsTitle = new JLabel("Sum of Amounts:");
JLabel fileTypeTitle = new JLabel("Camt54 File Type:");
JTextField groupMessageIdText = new JTextField("",10);
JTextField isoDateTimeText = new JTextField("",10);
JTextField notificationIdText = new JTextField("",10);
JTextField notificationAcctIdText = new JTextField("",10);
JTextField numberOfEntriesText = new JTextField("",10);
JTextField sumOfAmountsText = new JTextField("",10);
String[] fileTypes = {"OTC-R Message", "Home-Banking", "Cleared Checks"};
JComboBox fileTypesComboBox = new JComboBox(fileTypes);
panelLine1.add(groupMessageIdTitle);
panelLine1.add(groupMessageIdText);
panelLine1.add(isoDateTimeTitle);
panelLine1.add(isoDateTimeText);
panelLine2.add(notificationIdTitle);
panelLine2.add(notificationIdText);
panelLine2.add(notificationAcctIdTitle);
panelLine2.add(notificationAcctIdText);
panelLine3.add(numberOfEntriesTitle);
panelLine3.add(numberOfEntriesText);
panelLine3.add(sumOfAmountsTitle);
panelLine3.add(sumOfAmountsText);
panelLine4.add(fileTypeTitle);
panelLine4.add(fileTypesComboBox);
panelLine5.add(confirmButton);
panelOne.add(panelLine1,BorderLayout.NORTH);
panelOne.add(panelLine2,BorderLayout.CENTER);
panelOne.add(panelLine3,BorderLayout.SOUTH);
mainPanel.add(panelOne,BorderLayout.NORTH);
mainPanel.add(panelLine4,BorderLayout.CENTER);
mainPanel.add(panelLine5,BorderLayout.SOUTH);
frame.add(mainPanel);
frame.setVisible(true);
frame.setSize(630,210);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
これは意見に基づくものであり、StackOverflowのトピックではありません –
これは完全に意見に基づいているとは思われません。優れたコードの記述は、十分に文書化されています。私はよいコード作成に関するより多くの経験を持つ人を求めています。これを行うより良い方法があるかどうか私に教えてください。私は、意見だけでなく経験に基づいて助けを求めています。 – jesric1029
コードデザインがプロフェッショナルに見えるかどうかを確認しています。人々が「専門家」として定義できるのは、意見に基づくものです。あなたのコードを改善する方法のヒントを人々に提供したいと思うように思えます。そのためには[CodeReview](http://codereview.stackexchange.com)にアクセスしてください。 StackOverflowはあなたが*特定の懸念を持っているときのためのものです –