I'm trying to make a GUI based on BorderLayout
and GridLayout
by hand-writing not with a form builder. Because of that, I'm most likely skipping a part in the code. It is loaded but not seem.
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.InetAddress;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
class PanelDemo {
JButton jbtnUpArrowFirst;
JButton jbtnDownArrowFirst;
JButton jbtnUpArrowSec;
JButton jbtnDownArrowSec;
JButton jbtnUpArrowThird;
JButton jbtnDownArrowThird;
JLabel jlblLedUpFirst;
JLabel jlblLedDownFirst;
JLabel jlblLedUpSec;
JLabel jlblLedDownSec;
JLabel jlblLedUpThird;
JLabel jlblLedDownThird;
private JComponent ui = null;
private Insets buttonMargin = new Insets(10,10,10,10);
PanelDemo() throws IOException {
InitComponents();
}
private void InitComponents() {
if (ui != null) return;
ui = new JPanel(new BorderLayout(4,4));
ui.setBorder(new EmptyBorder(4,4,4,4));
int gap = 5;
JPanel jpnl = new JPanel(new GridLayout(2, 4, gap, gap));
jpnl.setBorder(new EmptyBorder(0, 0, 0, 50));
jpnl.setOpaque(true);
jpnl.setBorder(
BorderFactory.createLineBorder(Color.BLUE));
JPanel jpnl2 = new JPanel(new GridLayout(2, 2, gap, gap));
jpnl2.setOpaque(true);
jpnl2.setBorder(
BorderFactory.createLineBorder(Color.RED));
jbtnUpArrowFirst = new JButton("upfirst" ,new ImageIcon("/Users/Jack/Desktop/up.png"));
jbtnUpArrowFirst.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtnUpArrowFirst.setHorizontalTextPosition(SwingConstants.CENTER);
jbtnDownArrowFirst = new JButton("downfirst" ,new ImageIcon("/Users/Jack/Desktop/down.png"));
jbtnDownArrowFirst.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtnDownArrowFirst.setHorizontalTextPosition(SwingConstants.CENTER);
jlblLedUpFirst = new JLabel("upledfirst", new ImageIcon("/Users/Jack/Desktop/ledOff.png"), SwingConstants.CENTER);
jlblLedUpFirst.setVerticalTextPosition(SwingConstants.BOTTOM);
jlblLedUpFirst.setHorizontalTextPosition(SwingConstants.CENTER);
jlblLedDownFirst = new JLabel("downledfirst", new ImageIcon("/Users/Jack/Desktop/ledOff.png"), SwingConstants.CENTER);
jlblLedDownFirst.setVerticalTextPosition(SwingConstants.BOTTOM);
jlblLedDownFirst.setHorizontalTextPosition(SwingConstants.CENTER);
////////////////////////////////////////////////////////////////////////
jbtnUpArrowSec = new JButton("upsec", new ImageIcon("/Users/Jack/Desktop/up.png"));
jbtnUpArrowSec.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtnUpArrowSec.setHorizontalTextPosition(SwingConstants.CENTER);
jbtnDownArrowSec = new JButton("downsec" ,new ImageIcon("/Users/Jack/Desktop/down.png"));
jbtnDownArrowSec.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtnDownArrowSec.setHorizontalTextPosition(SwingConstants.CENTER);
jlblLedUpSec = new JLabel("upledsecond", new ImageIcon("/Users/Jack/Desktop/ledOff.png"), SwingConstants.CENTER);
jlblLedUpSec.setVerticalTextPosition(SwingConstants.BOTTOM);
jlblLedUpSec.setHorizontalTextPosition(SwingConstants.CENTER);
jlblLedDownSec = new JLabel("downledsec", new ImageIcon("/Users/Jack/Desktop/ledOff.png"), SwingConstants.CENTER);
jlblLedDownSec.setVerticalTextPosition(SwingConstants.BOTTOM);
jlblLedDownSec.setHorizontalTextPosition(SwingConstants.CENTER);
////////////////////////////////////////////////////////////////////////
jbtnUpArrowThird = new JButton("upthirt", new ImageIcon("/Users/Jack/Desktop/up.png"));
jbtnUpArrowThird.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtnUpArrowThird.setHorizontalTextPosition(SwingConstants.CENTER);
jbtnDownArrowThird = new JButton("downthird" ,new ImageIcon("/Users/Jack/Desktop/down.png"));
jbtnDownArrowThird.setVerticalTextPosition(SwingConstants.BOTTOM);
jbtnDownArrowThird.setHorizontalTextPosition(SwingConstants.CENTER);
jlblLedUpThird = new JLabel("upledthird", new ImageIcon("/Users/Jack/Desktop/ledOff.png"), SwingConstants.CENTER);
jlblLedUpThird.setVerticalTextPosition(SwingConstants.BOTTOM);
jlblLedUpThird.setHorizontalTextPosition(SwingConstants.CENTER);
jlblLedDownThird = new JLabel("downledthird", new ImageIcon("/Users/Jack/Desktop/ledOff.png"), SwingConstants.CENTER);
jlblLedDownThird.setVerticalTextPosition(SwingConstants.BOTTOM);
jlblLedDownThird.setHorizontalTextPosition(SwingConstants.CENTER);
// Add the buttons and label to the panel.
jpnl.add(jbtnUpArrowFirst);
jpnl.add(jlblLedUpFirst);
jpnl.add(jbtnUpArrowSec);
jpnl.add(jlblLedUpSec);
jpnl.add(jbtnDownArrowFirst);
jpnl.add(jlblLedDownFirst);
jpnl.add(jbtnDownArrowSec);
jpnl.add(jlblLedDownSec);
jpnl2.add(jbtnUpArrowThird);
jpnl2.add(jlblLedUpThird);
jpnl2.add(jbtnDownArrowThird);
jpnl2.add(jlblLedDownThird);
ui.add(jpnl, BorderLayout.CENTER);
ui.add(jpnl2, BorderLayout.LINE_END);
JFrame jfrm = new JFrame("Use Two JPanels");
jfrm.setLocationByPlatform(true);
jfrm.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jfrm.setContentPane(getUI());
jfrm.setMinimumSize(jfrm.getSize());
jfrm.pack();
jfrm.setVisible(true);
/*jbtnUpArrowFirst.addActionListener(e -> {
try {
test.send("ANTSW=VERT\r\n");
//if (test.recv().equalsIgnoreCase(""))
} catch (IOException e1) {
e1.printStackTrace();
}
});
jbtnDownArrowFirst.addActionListener(e -> {
try {
test.send("ANTSW=HORZ\r\n");
} catch (IOException e1) {
e1.printStackTrace();
}
});*/
}
public JComponent getUI() {
return ui;
}
public static void main(String args[]) {
// Create the frame on the event dispatching thread.
SwingUtilities.invokeLater(() -> {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
new PanelDemo();
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
});
}
}