请问我该怎样写才能让长方形变长并且将它移下,摆在中间 ?谢谢!
public class SelectSeat extends JPanel {
int a;
Object source;
int counter= 0;
static JFrame frame = new JFrame("Select Seat");
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
try {
createAndShowGui();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
});
}
static void createAndShowGui() throws Exception {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new SelectSeat());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public SelectSeat() throws Exception
{
JPanel topPanel= new JPanel(new GridLayout(1, 15));
RectDraw rect= new RectDraw();
rect.setPreferredSize(new Dimension(30,25));
topPanel.add(rect);
JToggleButton[] ButtonList = new JToggleButton[30];
JPanel ButtonPanel= new JPanel(new GridLayout(5,15,45,25)); // row,col,hgap,vgap
for(int i = 0; i < 30; i++) {
a=i+1;
ButtonList[i]= new JToggleButton(""+a);
ButtonPanel.add(ButtonList[i]);
}
JPanel bottomPanel = new JPanel(new GridLayout(1,5,40,20));
JButton cancel= new JButton("Back");
JButton confirm= new JButton("Next");
bottomPanel.add(cancel);
bottomPanel.add(confirm);
setLayout(new BorderLayout(0, 45));
add(topPanel, BorderLayout.PAGE_START);
add(ButtonPanel, BorderLayout.CENTER);
add(bottomPanel, BorderLayout.PAGE_END);
ButtonPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
bottomPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 20, 20)); //top,left,bottom,right
}
private static class RectDraw extends JPanel
{
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawRect(29,550,300,250);
g.setColor(Color.GRAY);
g.fillRect(20,5,330,25);
g.setColor(Color.BLUE);
g.drawString("Movie Sceen", 150, 20);
}
}
}
PHP中文网2017-04-18 09:27:16
Is this code you wrote yourself?
It should be the gray rectangle. Just change the parameters of drawRect in the last function to control the gray rectangle and blue string respectively.
PHP中文网2017-04-18 09:27:16
If it is eciplise, you can use plug-ins to build the layout directly. (I have only used swing for a week)