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

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

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

}
 
阿神
阿神

闭关修行中......

membalas semua(2)
Ty80

Adakah kod ini anda tulis sendiri?
Ia mestilah segi empat tepat kelabu. Cuma tukar parameter drawRect dalam fungsi terakhir untuk mengawal segi empat tepat kelabu dan rentetan biru masing-masing.

洪涛

Jika ia adalah eciplise, anda boleh menggunakan pemalam untuk membina reka letak terus. (Saya baru seminggu guna swing)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan