Я не рекомендую вам использовать NetBeans GUI Builder, он генерирует много ненужного кода.
Вот пример, который я написал, чтобы помочь вам начать с Swing. Это простой пример создания одного JFrame с двумя JButton и одним JTextField.
Вы также можете быть заинтересованы в паттерне MVC, вы можете прочитать больше об этой конкретной теме здесь (http://pclc.pace.edu/~bergin/mvc/mvcgui.html)
Также, если вы хотите показать результаты, возможно, вам следует попробовать использовать элемент управления JTextPane, но это только мое мнение
public class MainWindowClient implements ActionListener {
JFrame frame;
JTextField jtxInput;
JButton btnConnect;
JButton btnDisconnect;
public MainWindowClient() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
init();
}
});
}
public void init() {
try {
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (ClassNotFoundException e) {}
catch (InstantiationException e) {}
catch (IllegalAccessException e) {}
catch (UnsupportedLookAndFeelException e) {}
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.setTitle("Client");
frame.setSize(800, 600);
final JPanel title = new JPanel(new FlowLayout(FlowLayout.LEFT));
title.setBackground(new Color(255, 255, 255));
final JLabel lblAppName = new JLabel("Client Application");
lblAppName.setFont(new Font("sansserif", Font.PLAIN, 22));
title.add(lblAppName);
title.setBorder(BorderFactory.createTitledBorder(""));
final JPanel panelInputBoard = new JPanel(new GridLayout());
panelLogArea.setBorder(BorderFactory.createTitledBorder("Input"));
jtxInput = new JTextField("");
panelLogArea.add(jtxInput);
final JPanel panelCommandBoard = new JPanel(new FlowLayout(FlowLayout.LEFT));
panelCommandBoard.setBorder(BorderFactory.createTitledBorder("Client Commands"));
btnConnect = new JButton("Connect");
btnConnect.addActionListener(this);
btnDisconnect = new JButton("Disconnect");
btnDisconnect.addActionListener(this);
panelCommandBoard.add(btnConnect);
panelCommandBoard.add(btnDisconnect);
frame.add(title, BorderLayout.NORTH);
frame.add(panelCommandBoard, BorderLayout.SOUTH);
frame.add(panelInputBoard, BorderLayout.NORTH);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent event) {
JButton eventSource = (JButton) event.getSource();
if(eventSource.getText().equals("Connect")) {
// Do some stuff
}
if(eventSource.getText().equals("Disconnect")) {
// Do some stuff
}
}
public static void main(String[] args) {
MainWindowClient m = new MainWindowClient();
}
}