Postingan kali ini adalah kelanjutan dari postingan
Mencetak Piramida Pengabungan dan Sorting Kalimat dengan Java. Namun dari program sebelumnya akan saya buat Graphical User Interface (GUI). Berikut Screenshootnya.
Sourcecode, pembuatan package time simpan dengan nama file Time.java
package Packageku;
import java.util.Calendar;
public class Time {
private Calendar calendar = Calendar.getInstance(); //information hidding
public String getHari() {
if (calendar.get(Calendar.DAY_OF_WEEK) == 1) {
return "Sunday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 2) {
return "Monday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 3) {
return "Tuesday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 4) {
return "Wednesday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 5) {
return "Thursday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 6) {
return "Friday"; }
else
{
return "Saturday"; }
}
public String getBulan() {
if (calendar.get(Calendar.MONTH) == 0) {
return "January";
}
else
if (calendar.get(Calendar.MONTH) == 1) {
return "February";
}
else
if (calendar.get(Calendar.MONTH) == 2) {
return "Maret";
}
else
if (calendar.get(Calendar.MONTH) == 3) {
return "April";
}
else
if (calendar.get(Calendar.MONTH) == 4) {
return "May";
}
else
if (calendar.get(Calendar.MONTH) == 5) {
return "June";
}
else
if (calendar.get(Calendar.MONTH) == 6) {
return "July";
}
else
if (calendar.get(Calendar.MONTH) == 7) {
return "August";
}
else
if (calendar.get(Calendar.MONTH) == 8) {
return "September";
}
else
if (calendar.get(Calendar.MONTH) == 9) {
return "October";
}
else
if (calendar.get(Calendar.MONTH) == 10) {
return "November";
}
else
{
return "December";
}
}
public String getTime() {
String hari;
String tanggal;
String bulan;
String tahun;
hari = getHari();
tanggal = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
bulan = getBulan();
tahun = String.valueOf(calendar.get(Calendar.YEAR));
return (hari + "," + " " + bulan + " " + tanggal + "," + " " + tahun);
}
}
Kemudian buat sebuah file dan simpan dengan nama Piramidaku.java
import Packageku.Time;
import java.io.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.*;
import java.io.*;
import java.awt.image.*;
import javax.swing.BorderFactory;
import javax.swing.JProgressBar;
import javax.swing.UIManager;
import javax.swing.border.Border;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.table.DefaultTableModel;
class Kanvas extends Canvas
{
public void paint(Graphics grafis)
{
Graphics2D abst = (Graphics2D) grafis;
Image image=new ImageIcon("Backgrounds.jpg").getImage();
abst.drawImage(image,0,0,this);
}
}
class Apps extends JFrame
{
Kanvas gambar=new Kanvas();
Dimension layar = Toolkit.getDefaultToolkit().getScreenSize();
JLabel lbljudul = new JLabel("Aplikasi Piramida Kalimat");
JLabel lblowner = new JLabel("By Lefi Andri");
JLabel lbl1 = new JLabel("Masukkan Kalimat");
JLabel lbl2 = new JLabel("Masukkan deret 0-9");
JLabel lbl3 = new JLabel("Masukkan Simbol");
JTextField txt1 = new JTextField(8);
JTextField txt2 = new JTextField(8);
JTextField txt3 = new JTextField(8);
JButton cmd1 = new JButton("Proses");
JButton cmd2 = new JButton("Reset Data");
JTextArea txtarea1=new JTextArea(7,20);
JScrollPane scrollPane = new JScrollPane(txtarea1);
public String nama;
public String angka;
public String simbol;
public int i,j,k,x;
public char kata;
Apps()
{
setTitle("Aplikasi Piramida Kalimat");
setSize(644,508);
setLocationRelativeTo(null);
setLayout(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aturkomponen();
aksi();
}
public void aturkomponen()
{
getContentPane().setLayout(null);
getContentPane().add(lbljudul);
lbljudul.setBounds(110,10,600,40);
lbljudul.setFont(new Font("Officer x",Font.TRUETYPE_FONT,18));
getContentPane().add(lblowner);
lblowner.setBounds(370,35,600,40);
lblowner.setFont(new Font("Aardvark Cafe",Font.TRUETYPE_FONT,14));
getContentPane().add(lbl1);
lbl1.setBounds(110,90,200,20);
lbl1.setFont(new Font("Nougat",Font.TRUETYPE_FONT,12));
getContentPane().add(lbl2);
lbl2.setBounds(110,120,200,20);
lbl2.setFont(new Font("Nougat",Font.TRUETYPE_FONT,12));
getContentPane().add(lbl3);
lbl3.setBounds(110,150,200,20);
lbl3.setFont(new Font("Nougat",Font.TRUETYPE_FONT,12));
getContentPane().add(txt1);
txt1.setBounds(230,90,200,20);
getContentPane().add(txt2);
txt2.setBounds(230,120,200,20);
getContentPane().add(txt3);
txt3.setBounds(230,150,200,20);
getContentPane().add(cmd1);
cmd1.setBounds(230,185,90,30);
cmd1.setFont(new Font("Aardvark Cafe",Font.TRUETYPE_FONT,14));
getContentPane().add(cmd2);
cmd2.setBounds(340,185,90,30);
cmd2.setFont(new Font("Aardvark Cafe",Font.TRUETYPE_FONT,14));
getContentPane().add(scrollPane);
scrollPane.setBounds(88,240,545,235);
scrollPane.setFont(new Font("Aardvark Cafe",Font.TRUETYPE_FONT,14));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(gambar,BorderLayout.CENTER);
setVisible(true);
}
void sorting(char [] urut){
java.util.Arrays.sort(urut);
String data= String.valueOf(urut);
txtarea1.append("Setelah Sorting Berdasarkan Kode ASCII : "+data+"\n");
}
void sorting(String str, char [] urut){
txtarea1.append("\n"+"Setelah Digabungkan : "+str+"\n");
sorting(urut);
}
public void run(){
char [] urut = gabungan().toCharArray();
sorting(gabungan(),urut);
k = gabungan().length()/1;
x= k;
for(i=0;i
{
for(j=0;j
{
kata = urut[i];
if(j>=k){
txtarea1.append(kata+" ");
}
else{
txtarea1.append(" ");
}
}
k--;
txtarea1.append("\n");
}
}
public void aksi()
{
cmd1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
Time w = new Time();
txtarea1.append("English : " + w.getTime()+"\n");
nama= String.valueOf(txt1.getText());
angka= String.valueOf(txt2.getText());
simbol= String.valueOf(txt3.getText());
run();
}
});
cmd2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
txt1.setText("");
txt2.setText("");
txt3.setText("");
txtarea1.setText("");
}
});
}
Apps(String nama, String angka, String simbol){
this.nama = nama;
this.angka = angka;
this.simbol = simbol;
}
String gabungan(){
return (nama+angka+simbol);
}
}
class Piramidaku extends JFrame
{
public static void main(String[] args){
java.awt.EventQueue.invokeLater(new Runnable(){
public void run(){
Penampilan();
new Apps();
}
});
}
public static void Penampilan(){
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){
System.err.println("UI mengalami gangguan");
}
}
}
Untuk Mencetak Piramida Pengabungan dan Sorting Kalimat Menggunakan Konsep GUI selengkapnya bisa Anda download [Download]