0

こんにちは、画像プロジェクトの請求のように、ミニプロジェクトの一部として請求ページを作成したいと考えています。setBounds を使用して作成しようとしました。しかし、私は目的のページを取得できませんでした。誰でもこれを行うのを手伝ってもらえますか?

package start;

     void makeandshowGUI()
    {
        billno=new JTextField(15);
        dd=new JTextField(2);
        mm=new JTextField(2);
        yy=new JTextField(2);
        itemcode=new JTextField(5);
        itemname=new JTextField(50);
        qty=new JTextField(3);
        cname=new JTextField(50);
        wlcm=new JLabel("Product Billing @ BillDesk");
        ptotal=new JLabel("");
        billn=new JLabel("Bill No.:");
        billdate=new JLabel("Bill Date");
        cusname=new JLabel("Customer Name");
        pid=new JLabel("Product ID:");
         slash1=new JLabel("/");
         slash2=new JLabel("/");
        pname=new JLabel("Product Name:");
        pqty=new JLabel("Qty:");
        total=new JLabel("Total:");
        billd=new JLabel("Billing Details");
        purchased=new JLabel("Purchase Details");
        ftotal=new JLabel("Total:");
        disc=new JLabel("Discount:");
        gtotal=new JLabel("Grand Total:");
        save=new JButton("Save Bill & Print");
        view=new JButton("View Bill");
        list=new JButton("..");
        String[] columnNames = {"Sl. No.",
                                "Product ID",
                                "Product Name",
                                "Qty",
                                "Rate","Price"};


        JFrame bill=new JFrame("Product Billing || BillDesk");
        bill.setSize(1000,5000);
        bill.setBackground(Color.white);
        bill.setVisible(true);
        bill.setResizable(false);
        bill.setMinimumSize(new Dimension(1000, 1000));
        DefaultTableModel model = new DefaultTableModel(columnNames,10);
        JTable billTable=new JTable(model)
        {@Override
        public boolean isCellEditable(int arg0, int arg1) {

            return false;
        }};
        JScrollPane pane = new JScrollPane(billTable);
        Container c=bill.getContentPane();
        bill.setLayout(null);
        wlcm.setBounds(500, 0, 200, 20);
        billn.setBounds(0, 100, 100, 25);
        billno.setBounds(52,100,100,25);
        billdate.setBounds(700, 100, 100, 25);
        dd.setBounds(751, 100,20, 25);
        slash1.setBounds(772,100,5,25);
        mm.setBounds(777, 100,20, 25);
        slash2.setBounds(810,100,5,25);
        yy.setBounds(813, 100,20, 25);
        cusname.setBounds(0, 130, 50, 25);
        cname.setBounds(55, 130, 50, 25);
        pid.setBounds(0, 200, 50, 25);
        itemcode.setBounds(55, 200, 30, 25);
        pname.setBounds(100, 200, 50,25);
        itemname.setBounds(125, 200, 50,25);
        list.setBounds(206, 200, 5, 25);
        pqty.setBounds(215, 200, 25, 25);
        qty.setBounds(145, 200, 25, 25);
        total.setBounds(175, 200, 25, 25);
        ptotal.setBounds(205, 200, 50, 50); 
        c.add(wlcm,FlowLayout.LEADING);
        c.add(billn);
        c.add(billdate);
        c.add(cusname);
        c.add(pid);
        c.add(pname);
        c.add(pqty);
        c.add(slash1);
        c.add(slash2);
        c.add(ptotal);
        c.add(billno);
        c.add(dd);
        c.add(mm);
        c.add(yy);
        c.add(cname);
        c.add(cusname);
        c.add(itemcode);
        c.add(itemname);
        c.add(list);
        c.add(qty);
        c.add(total);
        c.add(ptotal);

 }
`
4

1 に答える 1

1

なぜあなたは手動ですべてを整理しようとしているのですか? LayoutManagerタスクを処理する の 使用を検討する必要があります。

JComponents入れ子にする機能は非常に強力で、手動で配置することを心配することなく、非常にきれいな UI を作成できます。ネストされたJComponent、たとえば aJPanelのそれぞれに、異なるLayoutManagerを関連付けることができます。

また、 の 4 つのパラメーターは次のsetBounds()とおりです。

x - the new x-coordinate of this component
y - the new y-coordinate of this component
width - the new width of this component
height - the new height of this component  

The problem is the width and height. Manually assigning them will give an inconsistent look-and-feel to your application across screens of different resolutions. A LayoutManager will handle all that for you.

于 2013-10-24T16:52:56.437 に答える