Professional Documents
Culture Documents
Tugas GUI
Tugas GUI
Tugas GUI
Disusun Oleh:
Dikumpulkan Tanggal:
16 November 2023
UNIVERSITAS PADJADJARAN
JATINANGOR
2023
HelloGUI
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package HelloGuiku;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class HelloGui extends javax.swing.JFrame {
/**
* Creates new form HelloGui
*/
public HelloGui() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
jPanel1.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBor
der.RAISED));
judulLabel.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
judulLabel.setLabelFor(jPanel1);
judulLabel.setText("Hello GUI NetBeans");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(judulLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel)
.addContainerGap())
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input"));
namaLabel.setText("Nama :");
npmLabel.setText("NPM :");
alamatLabel.setText("Alamat :");
namaField.setToolTipText("Input Nama");
npmField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
npmFieldActionPerformed(evt);
}
});
tekanButton.setText("Tekan Saya");
tekanButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tekanButtonActionPerformed(evt);
}
});
bersihkanButton.setText("Bersihkan");
bersihkanButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihkanButtonActionPerformed(evt);
}
});
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(alamatLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(alamatField))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addComponent(npmLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(npmField))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(namaLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(namaField,
javax.swing.GroupLayout.PREFERRED_SIZE, 217,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(tekanButton,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihkanButton,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(namaLabel)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(namaField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tekanButton)))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(npmLabel)
.addComponent(npmField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihkanButton))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(alamatLabel)
.addComponent(alamatField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(30, Short.MAX_VALUE))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
(javax.swing.BorderFactory.createTitledBorder(""), "Hasil"));
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 387,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hasilLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 387,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(hasilLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(28, Short.MAX_VALUE))
);
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(selesaiButton)
.addContainerGap(37, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void
npmFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
tekanButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
hasilLabel.setText("Hi, perkenalkan nama saya " +
namaField.getText()
+ ", NPM saya " + npmField.getText());
hasilLabel1.setText("Saya tinggal di " +
alamatField.getText());
}
private void
bersihkanButtonActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
namaField.setText("");
npmField.setText("");
hasilLabel.setText("");
hasilLabel1.setText("");
alamatField.setText("");
namaField.requestFocus();
}
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
Tampilan :
Output :
Membentuk NPM Mahasiswa
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package BentukNPM;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class NPM extends javax.swing.JFrame {
/**
* Creates new form NPM
*/
public NPM() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setTitle("Pembentukan NPM");
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input Data . ."));
prodiLabel.setText("Prodi :");
angkatanLabel.setText("Angkatan :");
prodiComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "<List
Prodi>", "Teknik Informatika", "Teknik Elektro",
"Matemamatika" }));
prodiComboBox.setToolTipText("");
prodiComboBox.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prodiComboBoxActionPerformed(evt);
}
});
noUrutField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
noUrutFieldActionPerformed(evt);
}
});
prosesButton.setText("Proses");
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
Ang09RadioButton.setText("2019");
Ang10RadioButton.setText("2020");
Ang11RadioButton.setText("2021");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(prosesButton)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(prodiLabel)
.addComponent(noLabel)
.addComponent(angkatanLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 30, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(Ang10RadioButton)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 160,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang09RadioButton)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang11RadioButton))
.addGap(62, 62, 62))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(prodiLabel)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(24, 24, 24)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(angkatanLabel)
.addComponent(Ang09RadioButton))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang10RadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang11RadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 31, Short.MAX_VALUE)
.addComponent(noLabel))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(31, 31, 31)
.addComponent(prosesButton)
.addContainerGap())
);
prodiComboBox.getAccessibleContext().setAccessibleName("");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Hasil . ."));
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addComponent(hslLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 86,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(69, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(17, 17, 17)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(hslLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(hasilLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(126, 126, 126)
.addComponent(jLabel1)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
pack();
}// </editor-fold>
private void
prodiComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
noUrutFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String prodi = null; // ””
String angkatan= null;
if(prodiComboBox.getSelectedItem()=="Matematika"){
prodi="103";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Informatika"){
prodi="203";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Elektro"){
prodi="303";
}
if(Ang09RadioButton.isSelected()){
angkatan="09";
}
else if(Ang10RadioButton.isSelected()){
angkatan="10";
}
else if(Ang11RadioButton.isSelected()){
angkatan="11";
}
hasilLabel.setText("140"+prodi+angkatan+noUrutField.getText())
;
}
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
Tampilan :
Output :
Operasi Pengulangan
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package BentukNPM;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class NPM extends javax.swing.JFrame {
/**
* Creates new form NPM
*/
public NPM() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setTitle("Pembentukan NPM");
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input Data . ."));
prodiLabel.setText("Prodi :");
angkatanLabel.setText("Angkatan :");
prodiComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "<List
Prodi>", "Teknik Informatika", "Teknik Elektro",
"Matemamatika" }));
prodiComboBox.setToolTipText("");
prodiComboBox.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prodiComboBoxActionPerformed(evt);
}
});
noUrutField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
noUrutFieldActionPerformed(evt);
}
});
prosesButton.setText("Proses");
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
Ang09RadioButton.setText("2019");
Ang10RadioButton.setText("2020");
Ang11RadioButton.setText("2021");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(prosesButton)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(prodiLabel)
.addComponent(noLabel)
.addComponent(angkatanLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 30, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(Ang10RadioButton)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 160,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang09RadioButton)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang11RadioButton))
.addGap(62, 62, 62))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(prodiLabel)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(24, 24, 24)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(angkatanLabel)
.addComponent(Ang09RadioButton))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang10RadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang11RadioButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 31, Short.MAX_VALUE)
.addComponent(noLabel))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(31, 31, 31)
.addComponent(prosesButton)
.addContainerGap())
);
prodiComboBox.getAccessibleContext().setAccessibleName("");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Hasil . ."));
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addComponent(hslLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 86,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(69, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(17, 17, 17)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(hslLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(hasilLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(126, 126, 126)
.addComponent(jLabel1)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
pack();
}// </editor-fold>
private void
prodiComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
noUrutFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String prodi = null; // ””
String angkatan= null;
if(prodiComboBox.getSelectedItem()=="Matematika"){
prodi="103";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Informatika"){
prodi="203";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Elektro"){
prodi="303";
}
if(Ang09RadioButton.isSelected()){
angkatan="09";
}
else if(Ang10RadioButton.isSelected()){
angkatan="10";
}
else if(Ang11RadioButton.isSelected()){
angkatan="11";
}
hasilLabel.setText("140"+prodi+angkatan+noUrutField.getText())
;
}
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
Tampilan :
Output :
Konversi
Source Code
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
/**
*
* @author wongf
*/
import java.text.NumberFormat;
import java.util.Locale;
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input Uang"));
inputComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "< Pilih
Mata Uang >", "Dollar", "Euro", "Pounsterling", "Rupiah",
"Yen", "Dollar Singapura", "Dollar Australia", "Ringgit" }));
inputField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
inputFieldFocusLost(evt);
}
});
inputField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
inputFieldActionPerformed(evt);
}
});
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(43, 43, 43)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(inputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(inputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(inputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(inputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
("Hasil Konversi"));
outputComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "< Pilih
Mata Uang >", "Dollar", "Euro", "Pounsterling", "Yen",
"Rupiah", "Dollar Singapura", "Dollar Australia", "Ringgit"
}));
outputComboBox.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
outputComboBoxActionPerformed(evt);
}
});
outputField.setEditable(false);
outputField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
outputFieldActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new
javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(43, 43, 43)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(outputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(outputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(34, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(outputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(outputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);
bersihkanButton.setText("Bersihkan");
bersihkanButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihkanButtonActionPerformed(evt);
}
});
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
konversiButton.setText("Konversi");
konversiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
konversiButtonActionPerformed(evt);
}
});
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(38, 38, 38)
.addComponent(jLabel1))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(bersihkanButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(konversiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPanel2,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(30, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 42,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(bersihkanButton)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(konversiButton)
.addComponent(selesaiButton)))
.addContainerGap(20, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
double hasil;
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
String pilihan =
outputComboBox.getSelectedItem().toString();
switch (pilihan) {
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 15583;
outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 18500; // asumsi 1 Euro = 18500 Rupiah
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 21500; // asumsi 1 Pounsterling = 21500 Rupiah
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 142; // asumsi 1 Yen = 142 Rupiah
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Singapura = 11500 Rupiah
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Australia = 11500 Rupiah
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 3700; // asumsi 1 Ringgit = 3700 Rupiah
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 15583;
outputField.setText(formatRupiah.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 0.85; // asumsi 1 Dolar = 0.85 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.75; // asumsi 1 Dolar = 0.75 Pounsterling
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0091; // asumsi 1 Dolar = 0.0091 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 0.74; // asumsi 1 Dolar = 0.74 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.36; // asumsi 1 Dolar = 1.36 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 0.24; // asumsi 1 Dolar = 0.24 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 18500; // asumsi 1 Euro = 18500 Rupiah
outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 1.18; // asumsi 1 Euro = 1.18 Dolar
outputField.setText(formatDollar.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.88; // asumsi 1 Euro = 0.88 Pounsterling
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0076; // asumsi 1 Euro = 0.0076 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 1.59; // asumsi 1 Euro = 1.59 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.61; // asumsi 1 Euro = 1.61 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 0.20; // asumsi 1 Euro = 0.20 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 142; // asumsi 1 Yen = 142 Rupiah
outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 110; // asumsi 1 Yen = 110 Dolar
outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
/ 130; // asumsi 1 Yen = 130 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 150; // asumsi 1 Yen = 150 Pounsterling
outputField.setText(formatPound.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
/ 80; // asumsi 1 Yen = 80 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 85; // asumsi 1 Yen = 85 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 25; // asumsi 1 Yen = 25 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 21500; // asumsi 1 Pounsterling = 21500 Rupiah
outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 1.33; // asumsi 1 Pounsterling = 1.33 Dolar
outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 1.14; // asumsi 1 Pounsterling = 1.14 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0071; // asumsi 1 Pounsterling = 0.0071 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 1.79; // asumsi 1 Pounsterling = 1.79 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.81; // asumsi 1 Pounsterling = 1.81 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 0.22; // asumsi 1 Pounsterling = 0.22 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 3700; // asumsi 1 Ringgit = 3700 Rupiah
outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 4.15; // asumsi 1 Ringgit = 4.15 Dolar
outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 4.85; // asumsi 1 Ringgit = 4.85 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 5.5; // asumsi 1 Ringgit = 5.5 Pounsterling
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.036; // asumsi 1 Ringgit = 0.036 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 3.05; // asumsi 1 Ringgit = 3.05 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 3.2; // asumsi 1 Ringgit = 3.2 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Australia = 11500 Rupiah
outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
/ 0.72; // asumsi 1 Dollar Australia = 0.72 Dolar
outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 0.61; // asumsi 1 Dollar Australia = 0.61 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.53; // asumsi 1 Dollar Australia = 0.53 Pounsterling
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
/ 0.0081; // asumsi 1 Dollar Australia = 0.0081 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 0.98; // asumsi 1 Dollar Australia = 0.98 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 2.36; // asumsi 1 Dollar Australia = 2.36 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}
switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Singapura = 11500 Rupiah
outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 0.74; // asumsi 1 Dollar Singapura = 0.74 Dolar
outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 0.63; // asumsi 1 Dollar Singapura = 0.63 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.55; // asumsi 1 Dollar Singapura = 0.55 Pounsterling
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0083; // asumsi 1 Dollar Singapura = 0.0083 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 2.43; // asumsi 1 Dollar Singapura = 2.43 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.03; // asumsi 1 Dollar Singapura = 1.03 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
default:
// kode untuk kasus default
}
}
private void
inputFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_inputFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_inputFieldActionPerformed
private void
outputFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_outputFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_outputFieldActionPerformed
private void
konversiButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_konversiButtonActionPerformed
// TODO add your handling code here:
String pilihan =
inputComboBox.getSelectedItem().toString();
switch (pilihan) {
case "Rupiah":
konversiDariRupiah();
break;
case "Dollar":
konversiDariDolar();
break;
case "Euro":
konversiDariEuro();
break;
case "Pounsterling":
konversiDariPounsterling();
break;
case "Yen":
konversiDariYen();
break;
case "Dollar Singapura":
konversiDariDollarSingapura();
break;
case "Dollar Australia":
konversiDariDollarAustralia();
break;
case "Ringgit":
konversiDariRinggit();
break;
default:
// kode untuk kasus default
}
}//GEN-LAST:event_konversiButtonActionPerformed
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_selesaiButtonActionPerformed
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_selesaiButtonActionPerformed
private void
bersihkanButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_bersihkanButtonActionPerformed
// TODO add your handling code here:
inputField.setText("");
outputField.setText("");
}//GEN-LAST:event_bersihkanButtonActionPerformed
private void
outputComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_outputComboBoxActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_outputComboBoxActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
Output
Program Persegi Panjang
Source Code:
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package PersegiPanjangku;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class PersegiPanjang extends javax.swing.JFrame {
/**
* Creates new form PersegiPanjang
*/
public PersegiPanjang() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
JOptionPane.setInheritsPopupMenu(true);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
jPanel1.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBor
der.RAISED));
jPanel1.setFont(new java.awt.Font("Segoe UI", 0, 18));
// NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENT
ER);
jLabel1.setText("Program Perhitungan Persegi
Panjang");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel1)
.addContainerGap())
);
jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(
javax.swing.border.BevelBorder.RAISED));
panjangField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
panjangFieldFocusLost(evt);
}
});
panjangField.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
panjangFieldKeyPressed(evt);
}
});
lebarField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
lebarFieldFocusLost(evt);
}
});
lebarField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
lebarFieldActionPerformed(evt);
}
});
luasField.setEditable(false);
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(lebarLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 110,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(luasLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 133,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(panjangLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 110,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(55, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(panjangLabel)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(lebarLabel)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(luasLabel)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
Bersihkan.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBor
der.RAISED));
prosesButton.setText("Proses");
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
prosesButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
prosesButtonKeyPressed(evt);
}
});
bersihButton.setText("Bersihkan");
bersihButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihButtonActionPerformed(evt);
}
});
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout BersihkanLayout = new
javax.swing.GroupLayout(Bersihkan);
Bersihkan.setLayout(BersihkanLayout);
BersihkanLayout.setHorizontalGroup(
BersihkanLayout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(BersihkanLayout.createSequentialGroup()
.addContainerGap()
.addComponent(prosesButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bersihButton)
.addGap(66, 66, 66)
.addComponent(selesaiButton)
.addContainerGap())
);
BersihkanLayout.setVerticalGroup(
BersihkanLayout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
BersihkanLayout.createSequentialGroup()
.addContainerGap(18, Short.MAX_VALUE)
.addGroup(BersihkanLayout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(prosesButton)
.addComponent(bersihButton)
.addComponent(selesaiButton))
.addGap(15, 15, 15))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(Bersihkan,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(17, 17, 17)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(Bersihkan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(17, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesHitungLuas();
}
private void
prosesButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
prosesHitungLuas();
}
private void
panjangFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
float pjg;
try {
pjg = Float.parseFloat(panjangField.getText());
} catch (Throwable t) {
//JOptionPane.showMessageDialog(null,"Nilai non
numerik, "
// + "silahkan dilengkapi");
//atau
JOptionPane.showMessageDialog(null, "Nilai non
numerik, "
+ "silahkan dilengkapi", "Ada Kesalahan",
1);
panjangField.requestFocus();
}
}
private void
panjangFieldKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
lebarField.requestFocus();
}
}
private void
lebarFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesButton.requestFocus();
private void
bersihButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
lebarField.setText("");
panjangField.setText("");
luasField.setText("");
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
import Menuku.Menu;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class PersegiPanjang extends javax.swing.JFrame {
/**
* Creates new form Segitiga
*/
public PersegiPanjang() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
selesaiButton.setForeground(new java.awt.Color(153,
153, 255));
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
kembaliButton.setBackground(new java.awt.Color(153,
153, 255));
kembaliButton.setForeground(new java.awt.Color(255,
255, 255));
kembaliButton.setText("Kembali ke Menu");
kembaliButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
kembaliButtonFocusGained(evt);
}
});
kembaliButton.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent
evt) {
kembaliButtonMouseClicked(evt);
}
});
kembaliButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
kembaliButtonActionPerformed(evt);
}
});
judulLabel.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
judulLabel.setText("Persegi Panjang");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 219,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(judulLabel)
.addContainerGap(23, Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Input",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N
panjangLabel.setText("Panjang :");
lebarLabel.setText("Lebar :");
panjangField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
panjangFieldFocusLost(evt);
}
});
panjangField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
panjangFieldActionPerformed(evt);
}
});
lebarField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
lebarFieldFocusGained(evt);
}
public void focusLost(java.awt.event.FocusEvent
evt) {
lebarFieldFocusLost(evt);
}
});
lebarField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
lebarFieldActionPerformed(evt);
}
});
bersihButton.setText("Bersihkan");
bersihButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihButtonActionPerformed(evt);
}
});
prosesButton.setText("Proses");
prosesButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
prosesButtonFocusGained(evt);
}
});
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
prosesButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
prosesButtonKeyPressed(evt);
}
});
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(lebarLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(panjangLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 35, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(prosesButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bersihButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(36, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(panjangLabel)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(prosesButton))
.addGap(12, 12, 12)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(lebarLabel)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihButton))
.addContainerGap(32, Short.MAX_VALUE))
);
luasLabel.setText("Luas :");
luasField.setEditable(false);
luasField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
luasFieldActionPerformed(evt);
}
});
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(luasLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(luasLabel)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 16, Short.MAX_VALUE))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(kembaliButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap(33, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(28, Short.MAX_VALUE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(17, 17, 17)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(selesaiButton)
.addComponent(kembaliButton))
.addContainerGap())
);
pack();
}// </editor-fold>
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
private void
kembaliButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosongkanInput();
Menu obj = new Menu();
obj.setVisible(true);
dispose();
}
private void
panjangFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
lebarField.requestFocus();
}
private void
lebarFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesButton.requestFocus();
}
private void
luasFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
panjangFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(panjangField.getText());
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
panjangField.requestFocus(); // Kembali meminta
fokus ke panjangField
}
}
private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cariLuas();
}
private void
prosesButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
cariLuas(); // Ganti ini dengan fungsi atau kode
yang ingin Anda jalankan saat tombol Enter ditekan
}
}
private void
kembaliButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
kosongkanInput();
jOptionPane.setVisible(false);
}
private void
kembaliButtonMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
private void
bersihButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosongkanInput();
}
private void
lebarFieldFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(panjangField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// panjangField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}
private void
prosesButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(lebarField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// lebarField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
Output :
Menu Segitiga
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package Segitigaku;
import Menuku.Menu;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
/**
* Creates new form Segitiga
*/
public Segitiga() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
selesaiButton.setForeground(new java.awt.Color(102,
102, 255));
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
kembaliButton.setBackground(new java.awt.Color(153,
153, 255));
kembaliButton.setForeground(new java.awt.Color(255,
255, 255));
kembaliButton.setText("Kembali ke Menu");
kembaliButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
kembaliButtonFocusGained(evt);
}
});
kembaliButton.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent
evt) {
kembaliButtonMouseClicked(evt);
}
});
kembaliButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
kembaliButtonActionPerformed(evt);
}
});
judulLabel.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
judulLabel.setText("Segitiga");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 219,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(25, 25, 25)
.addComponent(judulLabel)
.addContainerGap(19, Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Input",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N
tinggiLabel.setText("Tinggi :");
panjangField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
panjangFieldFocusLost(evt);
}
});
panjangField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
panjangFieldActionPerformed(evt);
}
});
tinggiField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
tinggiFieldFocusGained(evt);
}
public void focusLost(java.awt.event.FocusEvent
evt) {
tinggiFieldFocusLost(evt);
}
});
tinggiField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tinggiFieldActionPerformed(evt);
}
});
bersihButton.setText("Bersihkan");
bersihButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihButtonActionPerformed(evt);
}
});
prosesButton.setText("Proses");
prosesButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
prosesButtonFocusGained(evt);
}
});
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
prosesButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
prosesButtonKeyPressed(evt);
}
});
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(tinggiLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(tinggiField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(panjangLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 35, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(prosesButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bersihButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(36, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(panjangLabel)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(prosesButton))
.addGap(12, 12, 12)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(tinggiLabel)
.addComponent(tinggiField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihButton))
.addContainerGap(32, Short.MAX_VALUE))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Hasil",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N
luasLabel.setText("Luas :");
luasField.setEditable(false);
luasField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
luasFieldActionPerformed(evt);
}
});
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(luasLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(luasLabel)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 16, Short.MAX_VALUE))
);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(kembaliButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap(33, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(28, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(17, 17, 17)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(selesaiButton)
.addComponent(kembaliButton))
.addContainerGap())
);
pack();
}// </editor-fold>
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
private void
kembaliButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Menu obj = new Menu();
obj.setVisible(true);
dispose();
kembaliButton.requestFocusInWindow();
}
private void
panjangFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
tinggiField.requestFocus();
}
private void
tinggiFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesButton.requestFocus();
}
private void
luasFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void
panjangFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(panjangField.getText());
} catch (NumberFormatException ex) {
// Tampilkan pesan error jika input tidak valid
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
panjangField.setText(""); // Atur kembali nilai ke
kosong
panjangField.requestFocus();
}
}
private void
tinggiFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(tinggiField.getText());
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
tinggiField.requestFocus(); // Kembali meminta
fokus ke panjangField
}
}
private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cariLuas();
}
private void
prosesButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
cariLuas(); // Ganti ini dengan fungsi atau kode
yang ingin Anda jalankan saat tombol Enter ditekan
}
}
private void
kembaliButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
kosongkanInput();
jOptionPane.setVisible(false);
}
private void
kembaliButtonMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
kosongkanInput();
}
private void
bersihButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosongkanInput();
}
private void
tinggiFieldFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(panjangField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// panjangField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}
private void
prosesButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(tinggiField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// tinggiField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
Tampilan :
Output :
Program Menu Persegi Panjang dan Segitiga
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package Menuku;
import Segitigaku.Segitiga;
import PersegiPanjangku.PersegiPanjang;
/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class Menu extends javax.swing.JFrame {
/**
* Creates new form Menu
*/
public Menu() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setBackground(new java.awt.Color(204, 204,
255));
judulLabel1.setHorizontalAlignment(javax.swing.SwingConstants.
CENTER);
judulLabel1.setText("Selamat Datang Di Program ");
judulLabel2.setHorizontalAlignment(javax.swing.SwingConstants.
CENTER);
judulLabel2.setText("Luas Persegi dan Segitiga");
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(34, Short.MAX_VALUE)
.addComponent(judulLabel1)
.addContainerGap(35, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 295,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(judulLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(judulLabel2)
.addContainerGap())
);
anggotaPanel.setBackground(new java.awt.Color(204,
255, 255));
anggotaPanel.setBorder(javax.swing.BorderFactory.createTitledB
order(null, "Anggota", javax.swing.border.TitledBorder.CENTER,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Arial", 0, 14))); // NOI18N
anggotaPanelLayout.createParallelGroup(javax.swing.GroupLayout
.Alignment.LEADING)
.addGroup(anggotaPanelLayout.createSequentialGroup()
.addContainerGap(150, Short.MAX_VALUE)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(anggotaPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(anggotaPanelLayout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING)
.addComponent(jLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
anggotaPanelLayout.setVerticalGroup(
anggotaPanelLayout.createParallelGroup(javax.swing.GroupLayout
.Alignment.LEADING)
.addGroup(anggotaPanelLayout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 10, Short.MAX_VALUE)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jLabel4)
.addContainerGap())
);
pilihPanel.setBorder(javax.swing.BorderFactory.createTitledBor
der(null, "Silakan Pilih Menu",
javax.swing.border.TitledBorder.CENTER,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 14))); // NOI18N
pilihPanel.setForeground(new java.awt.Color(51, 51,
51));
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pilihPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(persegiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 169,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(segitigaButton,
javax.swing.GroupLayout.DEFAULT_SIZE, 171, Short.MAX_VALUE)
.addContainerGap())
);
pilihPanelLayout.setVerticalGroup(
pilihPanelLayout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(pilihPanelLayout.createSequentialGroup()
.addGap(23, 23, 23)
.addGroup(pilihPanelLayout.createParallelGroup(javax.swing.Gro
upLayout.Alignment.BASELINE)
.addComponent(segitigaButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 31,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(persegiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 31,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(anggotaPanel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(pilihPanel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(33, 33, 33)
.addComponent(anggotaPanel,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8)
.addComponent(pilihPanel,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(selesaiButton)
.addGap(20, 20, 20))
);
pack();
}// </editor-fold>
private void
segitigaButtonActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
Segitiga obj = new Segitiga();
obj.setVisible(true);
dispose();
}
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
private void
persegiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
PersegiPanjang obj = new PersegiPanjang();
obj.setVisible(true);
dispose();
}
private void
persegiButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 39) { // 39 adalah nilai ASCII
untuk tombol panah kanan (0x27)
segitigaButton.requestFocus();
}
if (evt.getKeyCode() == 10) { // 10 adalah nilai ASCII
untuk tombol Enter (0x0A)
PersegiPanjang obj = new PersegiPanjang();
obj.setVisible(true);
dispose();
}
private void
segitigaButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 37) { // 37 adalah nilai ASCII
untuk tombol panah kiri (0x25)
persegiButton.requestFocus();
}
if (evt.getKeyCode() == 10) { // 10 adalah nilai ASCII
untuk tombol Enter (0x0A)
Segitiga obj = new Segitiga();
obj.setVisible(true);
dispose();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
Tampilan :
Output :