Cari Blog Ini

Rabu, 14 November 2018

Aplikasi Event handler pada JTabel dengan Java Visual



hasil print tiket water booms

berikut coding event handler pada JTabel

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

class Aplikasi_Event_Tabel extends JFrame
{
JLabel judul = new JLabel ("APLIKASI WATER BOOM");
String header[] = {"Nama","Paket","Harga"};
String data[][] = {{"Khalifi","Anak-anak","10.000"},{"Joko","Dewasa","20.000"},{"Siti","Dewasa","20.000"},{"Zamra","Anak-anak","10.000"}};
DefaultTableModel tabelModel = new DefaultTableModel(data,header);
JTable tabel = new JTable(tabelModel);

JTableHeader tabelHeader = new JTableHeader(); //untuk buat header tabel

JScrollPane pane = new JScrollPane();

JLabel lblNama = new JLabel("Nama : ");
JTextField txtNama = new JTextField();

JLabel Lpaket = new JLabel("Paket : ");
JTextField txpaket = new JTextField();

JLabel lharga = new JLabel("Harga : ");
JTextField txharga = new JTextField();


JButton print = new JButton ("PRINT");

Aplikasi_Event_Tabel()
{
setTitle ("Aplikasi Event Tabel");
setLocation (0,0);
setSize (600,330);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false); //untuk mematikan tombol maxi
}

void KomponenVisual()
{
getContentPane().setLayout(null);
getContentPane().setBackground(Color.MAGENTA);

getContentPane().add(judul);
judul.setBounds(250, 5, 575, 20);

getContentPane().add(pane);
pane.setBounds(12, 30, 575, 90);
pane.setViewportView(tabel);

tabelHeader = tabel.getTableHeader();  //pembuatan warna untuk header tabel
tabelHeader.setBackground(Color.black);
tabelHeader.setForeground(Color.MAGENTA);

getContentPane().add(lblNama);
lblNama.setBounds(12, 195, 61, 30);
lblNama.setForeground(new Color(255, 255, 255));

getContentPane().add(txtNama);
txtNama.setBounds(144, 195, 440, 30);
txtNama.setHorizontalAlignment(SwingConstants.CENTER);
//txtNama.setColumns(10);

getContentPane().add(Lpaket);
Lpaket.setBounds(12, 230, 61, 30);
Lpaket.setForeground(new Color(255, 255, 255));

getContentPane().add(txpaket);
txpaket.setBounds(144, 230, 440, 30);
txpaket.setHorizontalAlignment(SwingConstants.CENTER);

getContentPane().add(lharga);
lharga.setBounds(12, 271, 61, 30);
lharga.setForeground(new Color(255, 255, 255));

getContentPane().add(txharga);
txharga.setBounds(144, 267, 440, 30);
txharga.setHorizontalAlignment(SwingConstants.CENTER);

getContentPane().add(print);
print.setBounds(12,125,575,60);
print.setIcon (new ImageIcon("print.png"));

setVisible (true);
}


void AksiReaksi()
{
tabel.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
int pilih = tabel.getSelectedRow();
if(pilih == -1)
{
return;
}
String nama = (String) tabelModel.getValueAt(pilih, 0);
txtNama.setText(nama);

String paket = (String) tabelModel.getValueAt(pilih, 1);
txpaket.setText(paket);

String harga = (String) tabelModel.getValueAt(pilih, 2);
txharga.setText(harga);

} } );

//===================== print
print.addActionListener(new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
 int y = 0;
    Frame fr = new Frame();
    PrintJob print = fr.getToolkit().getPrintJob(fr, "Prinnting", null, null);
    if (print != null)
    {
      Graphics g = print.getGraphics();
      if (g != null)
      {
//untuk kop (header)
g.drawRect(10,10,200,140);  //untuk buat kotak
g.drawString("KARCIS WATER BOOMS", 40, 40);
g.drawLine(10, 50, 210, 50); //untuk garis

g.drawString("Nama", 20,70);
g.drawString(":", 90, 70);
g.drawString(txtNama.getText(), 100, 70);

g.drawString("Paket", 20,90);
g.drawString(":", 90, 90);
g.drawString(txpaket.getText(), 100, 90);

g.drawString("Harga", 20,110);
g.drawString(":", 90, 110);
g.drawString(txharga.getText(), 100, 110);

  }  }
      print.end();
      print.end();
}  } );
}

public static void main (String rama[])
{
Aplikasi_Event_Tabel aet = new  Aplikasi_Event_Tabel();
aet.KomponenVisual();
aet.AksiReaksi();
} }