El ile kodlayarak Java kullanarak GUI oluşturmaya çalışıyorum (GUI araçları kullanmadan).Swing/AWT - GUI'yi programlı olarak oluşturma
Aşağıdaki resim gibi bir şey oluşturmaya çalışıyorum, ancak istediğim gibi çıkmıyor. Düzenleri Ben GUI kurulum veya nasıl oluşturmak için kullanılan olabilir ne
import java.awt.*;
import javax.swing.*;
import javax.swing.JTable;
public class GUI extends JFrame {
public void buildGui() {
JFrame frame = new JFrame("Hotel TV Scheduler");
Container contentPane = frame.getContentPane();
contentPane.setLayout(new FlowLayout());
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
JPanel listPanel = new JPanel();
listPanel.setLayout(new FlowLayout());
JTable chOneTable = new JTable();
JTable chTwoTable = new JTable();
JTable listTable = new JTable();
JButton rmvChOneButton = new JButton("Remove Channel");
JButton rmvChTwoButton = new JButton("Remove Channel");
listPanel.add(chOneTable);
listPanel.add(chTwoTable);
listPanel.add(listTable);
listPanel.add(rmvChOneButton);
listPanel.add(rmvChTwoButton);
JPanel infoPanel = new JPanel();
infoPanel.setLayout(new GridLayout());
JLabel titleLabel = new JLabel("Title");
JLabel genreLabel = new JLabel("Genre");
JLabel durationLabel = new JLabel("Duration");
JLabel actorLabel = new JLabel("Actor");
JLabel directorLabel = new JLabel("Director");
JLabel rentLabel = new JLabel("Rentable");
JLabel synopsisLabel = new JLabel("Synopsis");
JTextField txtTitle = new JTextField();
JTextField txtGenre = new JTextField();
JTextField txtDuration = new JTextField();
JTextField txtActor = new JTextField();
JTextField txtDirector = new JTextField();
JTextField txtSynopsis = new JTextField();
JCheckBox rentCB = new JCheckBox();
infoPanel.add(titleLabel);
infoPanel.add(txtTitle);
infoPanel.add(genreLabel);
infoPanel.add(txtGenre);
infoPanel.add(durationLabel);
infoPanel.add(txtDuration);
infoPanel.add(actorLabel);
infoPanel.add(txtActor);
infoPanel.add(directorLabel);
infoPanel.add(txtDirector);
infoPanel.add(rentLabel);
infoPanel.add(rentCB);
infoPanel.add(synopsisLabel);
infoPanel.add(txtSynopsis);
contentPane.add(listPanel);
contentPane.add(infoPanel);
frame.setVisible(true);
}
}
herhangi bir fikir:
Bu şimdiye kadar kodudur (O Kalem adlı bir mockup uygulama tarafından oluşturulan) kodlayarak bunu başarmak?
GUI aracı kullanmak istememenin nedeni nedir? Hayatı çok daha kolaylaştırıyorlar. – kevingreen
Kevingreen: GUI araçlarını kullanmadan önce Swing'i daha iyi anlamanıza yardımcı olmak için harika bir sebep. Daha sonra, GUI aracını kullanarak bir şeyi çözmede sorun yaşıyorsanız, bunu nasıl düzelteceğinizi anlamanız çok daha kolay olacaktır. Bu çabada asıl posteri şiddetle tavsiye ediyorum. 1+. Ve onun mükemmel cevap için kevingreen için 1+. –
@HovercraftFullOfEels Bunun tersini hissediyorum. Yaptığınız gibi Swing mizanpajının görsel bir temsilini görmenin, Brian'ın işlerin nasıl deneme/derleme/hata döngülerinden daha kolay bir şekilde nasıl etkilediğini görmesine yardımcı olacağını düşünüyorum. Kodu görmek için her zaman başlığın altına bakabilirsiniz (Eclipse/Netbeans yine de). Netbeans, özel kod şeylerine izin verir ve bunları GUI aracında da anında oluşturur. Ama her iki şekilde de çabalarımı teşvik ediyorum. – kevingreen