In: Computer Science
In Java
Write a GUI that will let the user sample borders. Include a menu named Borders that offers three options—beveled border, etched border, and line border—as submenus with the following options:
• Beveled-border submenu options: raised or lowered.
• Etched-border submenu options: raised or lowered.
• Line-border submenu options: small, medium, or large. Each of these options should be a submenu with three color options: black, red, and blue. Put the borders around a label containing text that describes the border, such as Raised Border, Lowered Etched Border, and so forth. Fix the highlight and shadow colors for the etched-border options to whatever colors you like, and make the small line border 5 pixels wide, the medium one 10 pixels wide, and the large one 20 pixels wide.
import java.awt.Color;
import javax.swing.*;
import javax.swing.border.EtchedBorder;
public class swingLine extends javax.swing.JFrame {
public swingLine() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenuBorder = new javax.swing.JMenu();
jMenuBeveled = new javax.swing.JMenu();
jMenuItemBRaised = new javax.swing.JMenuItem();
jMenuItemBLowered = new javax.swing.JMenuItem();
jMenuEtched = new javax.swing.JMenu();
jMenuItemeRaised = new javax.swing.JMenuItem();
jMenuItemELowered = new javax.swing.JMenuItem();
jMenuLine = new javax.swing.JMenu();
jMenuSmall = new javax.swing.JMenu();
jMenuItemLSB = new javax.swing.JMenuItem();
jMenuItemLSR = new javax.swing.JMenuItem();
jMenuItemLSBLU = new javax.swing.JMenuItem();
jMenuMedium = new javax.swing.JMenu();
jMenuItemLMB = new javax.swing.JMenuItem();
jMenuItemLMR = new javax.swing.JMenuItem();
jMenuItemLMBLU = new javax.swing.JMenuItem();
jMenuLarge = new javax.swing.JMenu();
jMenuItemLLB = new javax.swing.JMenuItem();
jMenuItemLLR = new javax.swing.JMenuItem();
jMenuItemLLBLU = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Hello");
jMenuBorder.setText("Border");
jMenuBeveled.setText("Beveled-Border");
jMenuItemBRaised.setText("Raised");
jMenuItemBRaised.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemBRaisedActionPerformed(evt);
}
});
jMenuBeveled.add(jMenuItemBRaised);
jMenuItemBLowered.setText("Lowered");
jMenuItemBLowered.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemBLoweredActionPerformed(evt);
}
});
jMenuBeveled.add(jMenuItemBLowered);
jMenuBorder.add(jMenuBeveled);
jMenuEtched.setText("Etched-Border");
jMenuItemeRaised.setText("Raised");
jMenuItemeRaised.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemeRaisedActionPerformed(evt);
}
});
jMenuEtched.add(jMenuItemeRaised);
jMenuItemELowered.setText("Lowered");
jMenuItemELowered.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemELoweredActionPerformed(evt);
}
});
jMenuEtched.add(jMenuItemELowered);
jMenuBorder.add(jMenuEtched);
jMenuLine.setText("Line-border");
jMenuSmall.setText("Small");
jMenuItemLSB.setText("Black");
jMenuItemLSB.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLSBActionPerformed(evt);
}
});
jMenuSmall.add(jMenuItemLSB);
jMenuItemLSR.setText("Red");
jMenuItemLSR.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLSRActionPerformed(evt);
}
});
jMenuSmall.add(jMenuItemLSR);
jMenuItemLSBLU.setText("Blue");
jMenuItemLSBLU.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLSBLUActionPerformed(evt);
}
});
jMenuSmall.add(jMenuItemLSBLU);
jMenuLine.add(jMenuSmall);
jMenuMedium.setText("Medium");
jMenuItemLMB.setText("Black");
jMenuItemLMB.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLMBActionPerformed(evt);
}
});
jMenuMedium.add(jMenuItemLMB);
jMenuItemLMR.setText("Red");
jMenuItemLMR.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLMRActionPerformed(evt);
}
});
jMenuMedium.add(jMenuItemLMR);
jMenuItemLMBLU.setText("Blue");
jMenuItemLMBLU.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLMBLUActionPerformed(evt);
}
});
jMenuMedium.add(jMenuItemLMBLU);
jMenuLine.add(jMenuMedium);
jMenuLarge.setText("Large");
jMenuItemLLB.setText("Black");
jMenuItemLLB.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLLBActionPerformed(evt);
}
});
jMenuLarge.add(jMenuItemLLB);
jMenuItemLLR.setText("Red");
jMenuItemLLR.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLLRActionPerformed(evt);
}
});
jMenuLarge.add(jMenuItemLLR);
jMenuItemLLBLU.setText("Blue");
jMenuItemLLBLU.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemLLBLUActionPerformed(evt);
}
});
jMenuLarge.add(jMenuItemLLBLU);
jMenuLine.add(jMenuLarge);
jMenuBorder.add(jMenuLine);
jMenuBar1.add(jMenuBorder);
jMenuBorder.getAccessibleContext().setAccessibleName("menuBorder");
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(139, 139, 139)
.addComponent(jLabel1)
.addContainerGap(238, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(112, 112, 112)
.addComponent(jLabel1)
.addContainerGap(153, Short.MAX_VALUE))
);
jLabel1.getAccessibleContext().setAccessibleName("lblName");
pack();
}// </editor-fold>
private void
jMenuItemBRaisedActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createRaisedBevelBorder());
}
private void
jMenuItemBLoweredActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLoweredBevelBorder());
}
private void
jMenuItemeRaisedActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
}
private void
jMenuItemELoweredActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
}
private void
jMenuItemLSBActionPerformed(java.awt.event.ActionEvent evt) {
jLabel1.setBorder(BorderFactory.createLineBorder(Color.black,2));
// TODO add your handling code here:
}
private void
jMenuItemLSRActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.RED,2));
}
private void
jMenuItemLSBLUActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.blue,2));
}
private void
jMenuItemLMBActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.black,4));
}
private void
jMenuItemLMRActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.red,4));
}
private void
jMenuItemLMBLUActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.blue,4));
}
private void
jMenuItemLLBActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.black,6));
}
private void
jMenuItemLLRActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.red,6));
}
private void
jMenuItemLLBLUActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setBorder(BorderFactory.createLineBorder(Color.blue,6));
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new swingLine().setVisible(true);
}
});
}
//create the menu bar
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenu jMenuBeveled;
private javax.swing.JMenu jMenuBorder;
private javax.swing.JMenu jMenuEtched;
private javax.swing.JMenuItem jMenuItemBLowered;
private javax.swing.JMenuItem jMenuItemBRaised;
private javax.swing.JMenuItem jMenuItemELowered;
private javax.swing.JMenuItem jMenuItemLLB;
private javax.swing.JMenuItem jMenuItemLLBLU;
private javax.swing.JMenuItem jMenuItemLLR;
private javax.swing.JMenuItem jMenuItemLMB;
private javax.swing.JMenuItem jMenuItemLMBLU;
private javax.swing.JMenuItem jMenuItemLMR;
private javax.swing.JMenuItem jMenuItemLSB;
private javax.swing.JMenuItem jMenuItemLSBLU;
private javax.swing.JMenuItem jMenuItemLSR;
private javax.swing.JMenuItem jMenuItemeRaised;
private javax.swing.JMenu jMenuLarge;
private javax.swing.JMenu jMenuLine;
private javax.swing.JMenu jMenuMedium;
private javax.swing.JMenu jMenuSmall;
// End of variables declaration
}