请问我该怎样写才能让长方形变长并且将它移下,摆在中间 ?谢谢!
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);
}
}
}
Est-ce que ce code est que vous avez écrit vous-même ?
Ce devrait être le rectangle gris. Modifiez simplement les paramètres de drawRect dans la dernière fonction pour contrôler respectivement le rectangle gris et la chaîne bleue.
S'il s'agit d'Eciplise, vous pouvez utiliser des plug-ins pour créer directement la mise en page. (Je n'utilise le swing que depuis une semaine)