Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Java Programming > Java Forum > Java GUI : พอดีทำโปรแกรมร้านกาแฟแต่อาจารย์ให้เปลี่ยนโครงสร้างข้อมูลใหม่เป็นลิงค์ลิสต์รบกวนแก้ไขให้ด้วยนะคะพอดีเป็นมือใหม่ค่ะ



 

Java GUI : พอดีทำโปรแกรมร้านกาแฟแต่อาจารย์ให้เปลี่ยนโครงสร้างข้อมูลใหม่เป็นลิงค์ลิสต์รบกวนแก้ไขให้ด้วยนะคะพอดีเป็นมือใหม่ค่ะ

 



Topic : 119201



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์




Code (Java)
package nam.coffeeshop;

import java.text.DecimalFormat;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Form extends javax.swing.JFrame {
    //ราคาของรายกาแฟ
    String price[]={"25","30","25","25","30","30"};
    //สร้างโมเดลตาราง
    DefaultTableModel model;
    //สร้างตัว Comma
    DecimalFormat df=new DecimalFormat ("#,###.00");
    
    //หาราคารวม
    double total=0.0;
    //เก็บแถวที่ผู้ใช้เลือก
    int selected;
    //เก็บตำแหน่งที่ซ้ำ
    int n;
    //เก็บราคารวม
    double money;
    public Form() {
        initComponents();
        t1.setText(price[0]);
        DefaultTableModel DefaultTableModel;
        model=(DefaultTableModel)tb.getModel();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        cbcoffee = new javax.swing.JComboBox();
        jLabel2 = new javax.swing.JLabel();
        t1 = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        t2 = new javax.swing.JTextField();
        bn1 = new javax.swing.JButton();
        bn2 = new javax.swing.JButton();
        bn3 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tb = new javax.swing.JTable();
        lbtotal = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("โปรแกรมร้านกาแฟ");

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel1.setText("ราคา/ชุด");

        cbcoffee.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        cbcoffee.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "กาแฟนมสด", "คาปูชิโน่", "ชาเย็นนมสด", "โอวันติน", "โกโก้", "ลาเต้นมสด" }));
        cbcoffee.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cbcoffeeItemStateChanged(evt);
            }
        });

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel2.setText("รายการกาแฟ");

        t1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        t1.setEnabled(false);

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel3.setText("จำนวน");

        t2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

        bn1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        bn1.setText("เพิ่ม");
        bn1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bn1ActionPerformed(evt);
            }
        });

        bn2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        bn2.setText("ลบ");
        bn2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bn2ActionPerformed(evt);
            }
        });

        bn3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        bn3.setText("แก้ไข");
        bn3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bn3ActionPerformed(evt);
            }
        });

        tb.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N
        tb.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "รายการกาแฟ", "ราคา/ชุด", "จำนวน", "จำนวนเงิน"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                true, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tb.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tbMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tb);
        if (tb.getColumnModel().getColumnCount() > 0) {
            tb.getColumnModel().getColumn(0).setResizable(false);
            tb.getColumnModel().getColumn(1).setResizable(false);
            tb.getColumnModel().getColumn(2).setResizable(false);
            tb.getColumnModel().getColumn(3).setResizable(false);
        }

        lbtotal.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
        lbtotal.setText("     ราคารวม");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(95, 95, 95)
                                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addComponent(bn1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(17, 17, 17)))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(t2, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(13, 13, 13)
                                .addComponent(bn2, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(29, 29, 29)
                                .addComponent(bn3))))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cbcoffee, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(t1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
                .addContainerGap(31, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(lbtotal, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(116, 116, 116))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(26, 26, 26)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(cbcoffee)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(t1, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(t2, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bn1)
                    .addComponent(bn3)
                    .addComponent(bn2))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(lbtotal, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(23, 23, 23))
        );

        pack();
    }// </editor-fold>                        

    private void cbcoffeeItemStateChanged(java.awt.event.ItemEvent evt) {                                          
        t1.setText(price[cbcoffee.getSelectedIndex()]);
    }                                         

    private void bn1ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        Vector v=new Vector();
        if(t2.getText().isEmpty()){
             JOptionPane.showMessageDialog(this,"กรุณาป้อนจำนวนกาแฟ","คำเตือน", 
                     JOptionPane.ERROR_MESSAGE);    
             
     }if (CheckMenu()){          
          //a-จำนวนเติมที่เพิ่มเข้าไปก่อนหน้า
            int a=Integer.parseInt(model.getValueAt(n,2).toString())
                    +Integer.parseInt(t2.getText());
          System.out.println("a="+a);
          model.setValueAt(a, n, 2);
          //หาจำนวนเงินของแต่ละรายการ
         double price=a*Double.valueOf(tb.getValueAt(n, 1).toString());
         System.out.println("จำนวนเงินใหม่="+price);
         model.setValueAt(df.format(price),n,3);
         //หาราคารวม
         money=Double.valueOf(t1.getText())*Double.valueOf(t2.getText());
         total+=money;
         lbtotal.setText("ราคารวม   : "+df.format(total)+" บาท ");
    }else{  
            v.add(cbcoffee.getSelectedItem().toString());
            v.add(t1.getText());
            v.add(t2.getText());
            money=Double.valueOf(t1.getText())*Double.valueOf(t2.getText());
            v.add(df.format(money));
            total+=money;
            model.addRow(v);
            lbtotal.setText("ราคารวม   : "+df.format(total)+" บาท ");
        }
    }                                   

    private void bn2ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        if(tb.isRowSelected(selected)){
        double moneySelected=Double.valueOf(tb.getValueAt
        (selected,3).toString().replace(",",""));
        System.out.println("แสดงจำนวนเงิน="+moneySelected);
        total-=moneySelected;
        lbtotal.setText("ราคารวม   : "+df.format(total)+" บาท ");
        if(total==0){
            lbtotal.setText("ราคารวม   : 0.00 บาท ");
        }  
        model.removeRow(selected);
        }else{
            JOptionPane.showMessageDialog(this,"กรุณาเลือกแถวในตาราง","คำเตือน", 
                     JOptionPane.ERROR_MESSAGE);
        }
    }                                   

    private void tbMouseClicked(java.awt.event.MouseEvent evt) {                                
        selected=tb.getSelectedRow();
        String name=tb.getValueAt(selected,0).toString();
        System.out.println("Name="+name);
        System.out.println("แถวที่เลือก="+selected);
        t2.setText(tb.getValueAt(selected,2).toString());
        //การเปลี่ยนแปลง Item ใน Combobox
        for (int i = 0; i < cbcoffee.getItemCount(); i++){
            if(name.equals(cbcoffee.getItemAt(i))){
                cbcoffee.setSelectedIndex(i);
            }
        }        
    }                               

    private void bn3ActionPerformed(java.awt.event.ActionEvent evt) {                                    
       //เก็บราคาก่อนแก้ไข
       double before=Double.valueOf(tb.getValueAt(selected,1).toString())
               *Double.valueOf(tb.getValueAt(selected,2).toString());
       System.out.println("before="+before); 
       
        //นำจำนวนลงตาราง
        tb.setValueAt(t2.getText(),selected,2);
        int amount=Integer.valueOf(t2.getText());
        //คำนวณราคาใหม่
        double bnew=amount*Double.valueOf(tb.getValueAt(selected, 1).toString());
        tb.setValueAt(df.format(bnew),selected,3);
        total=total-before+bnew;
        lbtotal.setText("ราคารวม   : "+df.format(total)+" บาท ");
        
    }                                   
    public boolean CheckMenu(){
    for (int i = 0; i < tb.getRowCount(); i++){
         if(cbcoffee.getSelectedItem().toString().equals(tb.getValueAt(i,0))){
             n = i;
             System.out.println("รายการกาแฟซ้ำกัน"+"ที่แถว="+n);
             return true;
         }    
       }
        return false;
    }


รูปแบบหน้าจอโปรแกรม



Tag : Java, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-10-03 14:01:01 By : namza98 View : 3038 Reply : 4
 

 

No. 1



โพสกระทู้ ( 192 )
บทความ ( 0 )



สถานะออฟไลน์




//

Code (Java)
public class Form extends javax.swing.JFrame {
    //ราคาของรายกาแฟ
    String price[]={"25","30","25","25","30","30"};
    //สร้างโมเดลตาราง
    DefaultTableModel model;
    //สร้างตัว Comma
    DecimalFormat df=new DecimalFormat ("#,###.00");
    
    //หาราคารวม
    double total=0.0;
    //เก็บแถวที่ผู้ใช้เลือก
    int selected;
    //เก็บตำแหน่งที่ซ้ำ
    int n;
    //เก็บราคารวม
    double money;
// add value
 List<String> list = new LinkedList<String>();
	list.add("กาแฟนมสด");
	list.add("คาปูชิโน่");
	list.add("ชาเย็นนมสด");
	list.add("โอวันติน");
	list.add("โกโก้");
	list.add("ลาเต้นมสด");

    public Form() {
        initComponents();
        t1.setText(price[0]);
        DefaultTableModel DefaultTableModel;
        model=(DefaultTableModel)tb.getModel();

//add list
	for(String data : list){
         cbcoffee.addItem(data);
         }
    }









ประวัติการแก้ไข
2015-10-03 22:06:46
2015-10-03 22:34:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-03 22:03:59 By : ipstarone
 


 

No. 2

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : ipstarone เมื่อวันที่ 2015-10-03 22:03:59
รายละเอียดของการตอบ ::
พอพิมพ์ไปตามนั้นมันแจ้งเตือนเหมือนในภาพพอตรันดูก็รันไม่ได้ไม่ทราบว่าต้องแก้ไขอย่างไงถึงจะรันได้ปกติค่ะ


โค๊ดมีปัญหา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-04 13:24:03 By : ืืnamza98
 

 

No. 3



โพสกระทู้ ( 2 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : ipstarone เมื่อวันที่ 2015-10-03 22:03:59
รายละเอียดของการตอบ ::
พอดีแก้ไขโค๊ดตามที่แสดงความคิดเห็นในกระทู้นี้แล้วค่ะแต่มันเกิดแจ้งเตือนเหมือนในภาพพอจะรันก้รันไม่ได้ต้องทำอย่างไงถึงจะรันได้ปกติค่ะ
โค๊ดมีปัญหา

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-04 13:33:04 By : namza98
 


 

No. 4



โพสกระทู้ ( 192 )
บทความ ( 0 )



สถานะออฟไลน์


import class java เข้ามาใช้ก่อนจ้า
เอาไว้บนข้างบน ใกล้ๆกับชื่อ package ของเรา
หรือไม่ก็กด ctrl+shift+i มันจะ import เข้ามาให้

Code (Java)
import java.util.LinkedList;
import java.util.List;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-04 13:51:54 By : ipstarone
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Java GUI : พอดีทำโปรแกรมร้านกาแฟแต่อาจารย์ให้เปลี่ยนโครงสร้างข้อมูลใหม่เป็นลิงค์ลิสต์รบกวนแก้ไขให้ด้วยนะคะพอดีเป็นมือใหม่ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่