Hello ,hello selamat malam berjumpa lagi dengan saya anugrah bagus susilo sang empunya newbieilmu
kemarin siang ada yang chatting sama saya,gimana sih mas cara memasukan gambar di JFrame di java nah kebetulan kali ini ada waktu buat posting maka akan saya share ilmu yang sedikit ini
disini sebagai contoh saya membuat form entry barang berikut tampilan layarnya
nah disitu terlihat jelas kalo ada images/gambar sebagai backgroundnya ,sebenernya sangat mudah sekali hanya yang perlu di perhatikan adalah letak penempatan JLabel nya dideklarasikan paling akhir .
kalo belum mafhum silahkan perhatikan coding dari form entry barang yang saya buat tadi
package sistempenjualan; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.sql.*; import com.jtattoo.plaf.acryl.AcrylLookAndFeel; //look and feel @anugrah bagus susilo - newbieilmu public class EntryBarang extends JFrame implements ActionListener,MouseListener { Dimension Layar = Toolkit.getDefaultToolkit().getScreenSize(); private JLabel lblKdBarang = new JLabel("Kode Barang"); private JTextField txtKdBarang = new JTextField(20); private JLabel lblNmBarang = new JLabel("Nama Barang"); private JTextField txtNmBarang = new JTextField(20); private JLabel lblJnsBarang = new JLabel("Jenis Barang"); private JTextField txtJnsBarang = new JTextField(20); private JLabel lblSatuan = new JLabel("Satuan"); private JTextField txtSatuan = new JTextField(20); private JLabel lblHrgSatuan = new JLabel("Harga Satuan"); private JTextField txtHrgSatuan = new JTextField(20); private JLabel lblJmlhStok = new JLabel("Jumlah Stok"); private JTextField txtJmlhStok = new JTextField(20); private Color color = Color.WHITE; private JButton btnBaru = new JButton("Baru"); private JButton btnUbah = new JButton("Ubah"); private JButton btnHapus = new JButton("Hapus"); private JButton btnBersih = new JButton("Bersih"); private JButton btnKeluar = new JButton("Keluar"); //deklarasi background private JLabel lbljpg = new JLabel(new ImageIcon("src/sistempenjualan/image/plg2.jpg")); private String[] strJdl = {"Kd_Barang","Nm_Barang","Jns_Barang","Satuan","Hrg_Satuan","Jmlh_Stok "}; DefaultTableModel tabModel; private JTable tblBarang = new JTable(); private JScrollPane scrTabel = new JScrollPane(); public EntryBarang(){ setTitle("Entry Barang"); setIconImage(getToolkit().getImage("")); setSize(550,520); setVisible(true); getContentPane().setLayout(null); getContentPane().setBackground(color); setLocation(Layar.height/2-getHeight()/2,Layar.width/2-getWidth()/2); setLocationRelativeTo(null); tabModel = new DefaultTableModel(null,strJdl); tblBarang.setModel(tabModel); scrTabel.getViewport().add(tblBarang); tblBarang.setEnabled(true); lblKdBarang.setForeground(Color.WHITE); lblNmBarang.setForeground(Color.WHITE); lblJnsBarang.setForeground(Color.WHITE); lblSatuan.setForeground(Color.WHITE); lblHrgSatuan.setForeground(Color.WHITE); lblJmlhStok.setForeground(Color.WHITE); btnBaru.setForeground(Color.BLACK); btnUbah.setForeground(Color.BLACK); btnHapus.setForeground(Color.BLACK); btnBersih.setForeground(Color.BLACK); btnKeluar.setForeground(Color.BLACK); lblKdBarang.setBounds(10, 20, 120, 20); txtKdBarang.setBounds(120, 20, 120, 20); lblNmBarang.setBounds(10, 50, 120, 20); txtNmBarang.setBounds(120, 50, 120, 20); lblJnsBarang.setBounds(10, 80, 120, 20); txtJnsBarang.setBounds(120, 80, 120, 20); lblSatuan.setBounds(10, 110, 120, 20); txtSatuan.setBounds(120, 110, 120, 20); lblHrgSatuan.setBounds(10, 140, 120, 20); txtHrgSatuan.setBounds(120, 140, 120, 20); lblJmlhStok.setBounds(10, 170, 120, 20); txtJmlhStok.setBounds(120, 170, 120, 20); btnBaru.setBounds(10, 200, 100, 30); btnUbah.setBounds(100, 200, 100, 30); btnHapus.setBounds(190, 200, 100, 30); btnBersih.setBounds(280, 200,100,30); btnKeluar.setBounds(370, 200, 100, 30); scrTabel.setBounds(10, 240, 480, 160); lbljpg.setBounds(0,0,550,500); //setting jlabel image berada di baris paling akhir txtKdBarang.addActionListener(this); btnBaru.addActionListener(this); btnUbah.addActionListener(this); btnHapus.addActionListener(this); btnBersih.addActionListener(this); btnKeluar.addActionListener(this); tblBarang.addMouseListener(this); getContentPane().add(lblKdBarang); getContentPane().add(txtKdBarang); getContentPane().add(lblNmBarang); getContentPane().add(txtNmBarang); getContentPane().add(lblJnsBarang); getContentPane().add(txtJnsBarang); getContentPane().add(lblSatuan); getContentPane().add(txtSatuan); getContentPane().add(lblHrgSatuan); getContentPane().add(txtHrgSatuan); getContentPane().add(lblJmlhStok); getContentPane().add(txtJmlhStok); getContentPane().add(scrTabel); getContentPane().add(btnBaru); getContentPane().add(btnUbah); getContentPane().add(btnBersih); getContentPane().add(btnHapus); getContentPane().add(btnKeluar); getContentPane().add(lbljpg); //penempatan container jlabel image berada di baris paling akhir TampilTabel(); //nonAktif(); } @Override public void actionPerformed(ActionEvent arg0) { if(arg0.getSource() == txtKdBarang) { cariBarang(); } if(arg0.getSource() == btnBaru) { tambahBarang(); } if(arg0.getSource() == btnUbah) { ubahBarang(); } if(arg0.getSource()== btnHapus) { hapusBarang(); } if(arg0.getSource() == btnBersih){ bersihkan(); } if(arg0.getSource()== btnKeluar) { if(JOptionPane.showConfirmDialog(null, "Yakin ingin keluar", "Konfirmasi",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } public void nonAktif(){ txtNmBarang.setEnabled(false); txtJnsBarang.setEnabled(false); txtSatuan.setEnabled(false); txtHrgSatuan.setEnabled(false); txtJmlhStok.setEnabled(false); } public void cariBarang(){ try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan", "root", "root"); Statement state = con.createStatement(); String sql = "select * from barang where KdBarang='"+txtKdBarang.getText()+"' "; ResultSet rs = state.executeQuery(sql); if(rs.next()){ txtNmBarang.setText(rs.getString(2)); txtJnsBarang.setText(rs.getString(3)); txtSatuan.setText(rs.getString(4)); txtHrgSatuan.setText(rs.getString(5)); txtJmlhStok.setText(rs.getString(6)); } rs.close(); con.close(); //nonAktif(); } catch(Exception ec){ JOptionPane.showConfirmDialog(null,"data di tidak temukan"); } } public void tambahBarang(){ try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan", "root", "root"); Statement st = con.createStatement(); String sql = "insert into barang values('"+txtKdBarang.getText()+ "','"+txtNmBarang.getText()+ "','"+txtJnsBarang.getText()+ "','"+txtSatuan.getText()+ "','"+txtHrgSatuan.getText()+ "','"+txtJmlhStok.getText()+ "')"; int hasil = st.executeUpdate(sql); if(hasil>0) { JOptionPane.showMessageDialog(null,"Data Berhasil Ditambahkan","Pesan",JOptionPane.INFORMATION_MESSAGE); } con.close(); TampilTabel(); bersihkan(); } catch(Exception ex){ JOptionPane.showMessageDialog(null, "Database tidak masuk"); } } public void ubahBarang(){ try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan", "root", "root"); Statement state = con.createStatement(); String sql = "update barang set Nmbarang='"+txtNmBarang.getText()+ "',JnsBarang='"+txtJnsBarang.getText()+ "',Satuan='"+txtSatuan.getText()+ "',HrgSatuan='"+txtHrgSatuan.getText()+ "',JmlhStok='"+txtJmlhStok.getText()+ "' where KdBarang='"+txtKdBarang.getText()+"' "; int Hasil = state.executeUpdate(sql); if(Hasil==1){ JOptionPane.showMessageDialog(null, "Data berhasil di ubah"); } con.close(); TampilTabel(); } catch(Exception ex){ JOptionPane.showMessageDialog(null, "Data gagal di ubah"); } } public void hapusBarang(){ try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan","root", "root"); Statement state = con.createStatement(); String sql = "delete from barang where KdBarang='"+txtKdBarang.getText()+"' "; int Hasil = state.executeUpdate(sql); if(Hasil==1){ JOptionPane.showMessageDialog(null, "data berhasil di hapus"); bersihkan(); con.close(); TampilTabel(); } } catch(Exception ex){ JOptionPane.showMessageDialog(null, "data gagal di hapus"); } } public void bersihkan(){ txtKdBarang.setText(""); txtNmBarang.setText(""); txtJnsBarang.setText(""); txtSatuan.setText(""); txtHrgSatuan.setText(""); txtJmlhStok.setText(""); txtKdBarang.requestFocus(true); TampilTabel(); } public void TampilTabel(){ try{ hapusTabel(); Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan","root", "root"); Statement state = con.createStatement(); String sql = "select * from barang"; ResultSet rs = state.executeQuery(sql); while(rs.next()){ String KdBarang = rs.getString(1); String NmBarang = rs.getString(2); String JnsBarang = rs.getString(3); String Satuan = rs.getString(4); String HrgSatuan = rs.getString(5); String JmlhStok = rs.getString(6); String[] data = {KdBarang,NmBarang,JnsBarang,Satuan,HrgSatuan,JmlhStok}; tabModel.addRow(data); } rs.close(); con.close(); } catch(Exception ex){ JOptionPane.showMessageDialog(null,"tidak tampil ke table"); } } public void hapusTabel(){ int brs = tabModel.getRowCount(); for(int i=0;i<brs;i++){ tabModel.removeRow(0); } } public void getdataBarang(){ txtKdBarang.setText(""+tabModel.getValueAt(tblBarang.getSelectedRow(),0)); txtNmBarang.setText(""+tabModel.getValueAt(tblBarang.getSelectedRow(),1)); txtJnsBarang.setText(""+tabModel.getValueAt(tblBarang.getSelectedRow(),2)); txtSatuan.setText(""+tabModel.getValueAt(tblBarang.getSelectedRow(),3)); txtHrgSatuan.setText(""+tabModel.getValueAt(tblBarang.getSelectedRow(),4)); txtJmlhStok.setText(""+tabModel.getValueAt(tblBarang.getSelectedRow(),5)); cariBarang(); //nonAktif(); } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub getdataBarang(); } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } public static void main(String[] args) { try{ UIManager.setLookAndFeel(new AcrylLookAndFeel()); } catch (UnsupportedLookAndFeelException e){ //handle exception } new EntryBarang(); } }
nah begitu sedikit ilmu yang saya peroleh,bagi yang mempunyai permasalahan yang berkenaan dengan ini silahkan di pahami dan bagi yang merasa mempunyai cara yang lebih baik silahkan tinggalkan komentar di bawah ini π
semoga bermanfaat bagi para newbie dalam belajar java termasuk saya π
CEO & Founder Newbie Ilmu
Anugrah Bagus Susilo
mas, kalo saya mau masukin 2 label di jframe yg sama kok ketimpa ya? gmn caranya supaya rapi mas antara label1 dan label 2? (labelnya gambar)