java - GUI需要帮忙
阿神
阿神 2017-04-18 09:25:16
0
2
299

请问我该怎样写才能让长方形变长并且将它移下,摆在中间 ?谢谢!

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);   
            }
    }

}
 
阿神
阿神

闭关修行中......

répondre à tous(2)
Ty80

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)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal