How to change theme by FlatLaf on days buttons in JDateChooser (JCalendar)? - java

I'm trying to change the theme using FlatLaf (2.0.1) on a JDateChooser (JCalendar 1.4) object. I don't know why the day buttons don't refresh.
Here is my code:
public class Test extends JFrame {
private JPanel contentPane;
private JDateChooser dateChooser;
private JToggleButton bChangeTheme;
public static void main(String[] args) {
FlatArcDarkOrangeIJTheme.setup();
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test frame = new Test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Test() {
setFont(new Font("Verdana", Font.PLAIN, 12));
setTitle("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 95);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new MigLayout("", "[][grow]", "[grow]"));
bChangeTheme = new JToggleButton("Change theme");
bChangeTheme.setFont(new Font("Verdana", Font.PLAIN, 12));
bChangeTheme.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(bChangeTheme.isSelected()) {
FlatArcOrangeIJTheme.setup();
FlatLaf.updateUI();
dateChooser.setFont(FlatUIUtils.nonUIResource(new Font("Verdana", Font.PLAIN, 12)));
} else {
FlatArcDarkOrangeIJTheme.setup();
FlatLaf.updateUI();
dateChooser.setFont(FlatUIUtils.nonUIResource(new Font("Verdana", Font.PLAIN, 12)));
}
}
});
contentPane.add(bChangeTheme, "cell 0 0,growy");
dateChooser = new JDateChooser();
dateChooser.setDateFormatString("yyyy-MM-dd");
dateChooser.setFont(new Font("Verdana", Font.PLAIN, 12));
dateChooser.getCalendarButton().setFont(new Font("Verdana", Font.PLAIN, 12));
dateChooser.getJCalendar().getDayChooser().setDecorationBackgroundVisible(false);
dateChooser.getJCalendar().getDayChooser().setSundayForeground(Color.decode("#f57900"));
dateChooser.getJCalendar().getDayChooser().setWeekdayForeground(Color.decode("#f57900"));
dateChooser.getJCalendar().getYearChooser().setFont(dateChooser.getFont());
dateChooser.getJCalendar().getDayChooser().setForeground(dateChooser.getJCalendar().getMonthChooser().getForeground());
dateChooser.getJCalendar().setFont(dateChooser.getFont());
contentPane.add(dateChooser, "cell 1 0,grow");
}
}
I've been trying to get to the buttons like this:
dcDo.getJCalendar().getDayChooser().getDayPanel().getComponents();
Failed to change the background of the buttons in a loop.
I also tried to find a similar trick to the one used to set the font.
dateChooser.setFont(FlatUIUtils.nonUIResource(new Font("Verdana", Font.PLAIN, 12)));
But no success...
I will be grateful for all suggestions.

Related

JLabel not showing in painted background

I have put a background image using "paint" and as I've tried to add a Jlabel it is not showing upon running. Here's my code and screenshots.
Output
public class startingPage extends JFrame {
private JPanel contentPane;
private String audioFileName = "bg-music.wav";
private String imagePath = "truck_850x300_mining_island.png";
private String logo = "explore_with_mine.png";
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
startingPage frame = new startingPage();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public startingPage() {
initComponents();
createEvents();
playAudio();
}
public void playAudio() {
// TODO Auto-generated method stub
try
{
File audioPath = new File(audioFileName);
programManager.stream = AudioSystem.getAudioInputStream(audioPath);
programManager.clip = AudioSystem.getClip();
programManager.clip.open(programManager.stream);
programManager.clip.start();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void createEvents() {
}
public void initComponents() {
setTitle("Explore With Mine");
setIconImage(Toolkit.getDefaultToolkit().getImage(startingPage.class.getResource("/exploreWithMine/resources/logo.png")));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setBounds(400, 200, 720, 480);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JButton btnNewButton = new JButton("START");
btnNewButton.setBounds(262, 299, 177, 58);
btnNewButton.setBackground(Color.LIGHT_GRAY);
btnNewButton.setForeground(new Color(165, 42, 42));
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 42));
contentPane.add(btnNewButton);
JLabel lblNewLabel = new JLabel("TESTING");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 16));
lblNewLabel.setBounds(10, 10, 146, 43);
contentPane.add(lblNewLabel);
}
public void paint(Graphics g)
{
g.drawImage(new ImageIcon(imagePath).getImage(),
-70,90, null);
}
}
OUTPUT
JLABEL not Showing (Upper Left)
I have tried removing the painted background image and it worked however I also need that background image to be there.
OUTPUT

Can't seem to be able to move my objects using java

I seem to be unable to move any objects I bring into my class, my other classes seem to be functional when I set bounds, but not this one.
I'm wondering why it isn't working and functionally like my other classes.
Some of the bounds are extreme as that's me making sure I can notice if any of the objects are moving; which they are not.
package student.information.in.java;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;
public class CreatedBy extends JFrame {
JButton btnJoelHogg, btnAndrewCameron, btnConorElliman, btnTiarnanByrne, btnproject;
JLabel lblJoel, lblAndrew, lblConor, lblTiarnan, lbl_title, lbl_Info;
public CreatedBy() {
super("Project team and information");
setLayout(null);
lbl_title = new JLabel("Information about the system & its creators", JLabel.CENTER);
add(lbl_title);
lbl_title.setBounds(200, 200, 200, 200);
lbl_title.setFont(new Font("Calibri", Font.PLAIN, 30));
lbl_title.setForeground(Color.BLACK);
lblJoel = new JLabel("Joel Hogg");
add(lblJoel);
lblJoel.setBounds(30, 140, 200, 30);
lblJoel.setFont(new Font("Calibri", Font.PLAIN, 14));
lblJoel.setForeground(Color.BLACK);
btnJoelHogg = new JButton("About Joel");
btnJoelHogg.setFont(new Font("Calibri", Font.PLAIN, 14));
btnJoelHogg.setBackground(Color.LIGHT_GRAY);
btnJoelHogg.setForeground(Color.BLACK);
lblAndrew = new JLabel("Andrew Cameron");
add(lblAndrew);
lblAndrew.setBounds(80, 50, 400, 30);
lblAndrew.setFont(new Font("Calibri", Font.PLAIN, 14));
lblAndrew.setForeground(Color.BLACK);
btnAndrewCameron = new JButton("About Andrew");
btnAndrewCameron.setFont(new Font("Calibri", Font.PLAIN, 14));
btnAndrewCameron.setBackground(Color.LIGHT_GRAY);
btnAndrewCameron.setForeground(Color.BLACK);
lblJoel = new JLabel("Conor Elliman");
add(lblJoel);
lblJoel.setBounds(20, 540, 170, 380);
lblJoel.setFont(new Font("Calibri", Font.PLAIN, 14));
lblJoel.setForeground(Color.BLACK);
btnConorElliman = new JButton("About Conor");
btnConorElliman.setFont(new Font("Calibri", Font.PLAIN, 14));
btnConorElliman.setBackground(Color.LIGHT_GRAY);
btnConorElliman.setForeground(Color.BLACK);
lblTiarnan = new JLabel("TiarnĂ¡n");
add(lblTiarnan);
lblTiarnan.setBounds(202, 506, 170, 30);
lblTiarnan.setFont(new Font("Calibri", Font.PLAIN, 14));
lblTiarnan.setForeground(Color.BLACK);
btnTiarnanByrne = new JButton("About TiarnĂ¡n");
btnTiarnanByrne.setFont(new Font("Calibri", Font.PLAIN, 14));
btnTiarnanByrne.setBackground(Color.LIGHT_GRAY);
btnTiarnanByrne.setForeground(Color.BLACK);
Container c = getContentPane();
FlowLayout fl = new FlowLayout(FlowLayout.LEFT);
c.setLayout(fl);
c.add(btnJoelHogg);
c.add(btnAndrewCameron);
c.add(btnConorElliman);
c.add(btnTiarnanByrne);
ButtonHandler handler = new ButtonHandler();
btnJoelHogg.addActionListener(handler);
btnAndrewCameron.addActionListener(handler);
btnConorElliman.addActionListener(handler);
btnTiarnanByrne.addActionListener(handler);
setSize(600, 400);
show();
}
public static void main(String[] args) {
// Make frame
CreatedBy f = new CreatedBy();
f.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("Exit via windowClosing.");
System.exit(0);
}
}
);
} // end of main
// inner class for button event handling
private class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnJoelHogg) {
System.out.println(
"Joel Hogg button pressed");
}
if (e.getSource() == btnAndrewCameron) {
System.out.println(
"Andrew Cameron button pressed");
}
if (e.getSource() == btnTiarnanByrne) {
System.out.println("Tiarnan Byrne button pressed");
}
if (e.getSource() == btnConorElliman) {
System.out.println("Conor Elliman button pressed");
}
}
} // end of inner class
} // end of outer class

no content in Jframe java

i have two jframes in my app, Addnmember.java and Frame1.java
Frame1 is the main Jframe,
i want when someone presses the Add button, the Addmember will be shown, i have done this with this code, and every thing is fine:
AddB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.dispose();
AddMember addmem = new AddMember();
addmem.setVisible(true);
}
});
But in the new Jframe, i want to come back again when Done Bt is selected, i have done this whit this code:
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//dispose();
Frame1 addmem = new Frame1();
addmem.setVisible(true);
}
});
but this doesent work! mean the Jframe Loads but there is no content in it! look:
why this happens? here is my codes:
AddMember.java:
public class AddMember extends JFrame {
private JFrame frame;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
private JButton btnNewButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AddMember frame = new AddMember();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public AddMember() {
setTitle("\u0627\u0641\u0632\u0648\u062F\u0646 \u0639\u0636\u0648 \u062C\u062F\u06CC\u062F");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 331);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel label = new JLabel("\u0646\u0627\u0645:");
label.setFont(new Font("Tahoma", Font.BOLD, 11));
label.setBounds(332, 60, 46, 14);
contentPane.add(label);
textField = new JTextField();
textField.setToolTipText("\u0646\u0627\u0645");
textField.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent arg0) {
textField.setText("");
}
});
textField.setHorizontalAlignment(SwingConstants.RIGHT);
textField.setText("\u0646\u0627\u0645");
textField.setBounds(236, 57, 86, 20);
contentPane.add(textField);
textField.setColumns(10);
JLabel label_1 = new JLabel("\u0634.\u062F\u0627\u0646\u0634\u062C\u0648\u06CC\u06CC:");
label_1.setFont(new Font("Tahoma", Font.BOLD, 11));
label_1.setBounds(328, 103, 85, 14);
contentPane.add(label_1);
textField_1 = new JTextField();
textField_1.setToolTipText("\u0634\u0645\u0627\u0631\u0647 \u062F\u0627\u0646\u0634\u062C\u0648\u06CC\u06CC");
textField_1.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent e) {
textField_1.setText("");
}
});
textField_1.setText("\u0634\u0645\u0627\u0631\u0647 \u062F\u0627\u0646\u0634\u062C\u0648\u06CC\u06CC");
textField_1.setHorizontalAlignment(SwingConstants.RIGHT);
textField_1.setColumns(10);
textField_1.setBounds(236, 100, 86, 20);
contentPane.add(textField_1);
JLabel label_2 = new JLabel("\u0631\u0634\u062A\u0647:");
label_2.setFont(new Font("Tahoma", Font.BOLD, 11));
label_2.setBounds(332, 145, 46, 14);
contentPane.add(label_2);
textField_2 = new JTextField();
textField_2.setToolTipText("\u0631\u0634\u062A\u0647 \u062A\u062D\u0635\u06CC\u0644\u06CC");
textField_2.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent e) {
textField_2.setText("");
}
});
textField_2.setText("\u0631\u0634\u062A\u0647 \u062A\u062D\u0635\u06CC\u0644\u06CC");
textField_2.setHorizontalAlignment(SwingConstants.RIGHT);
textField_2.setColumns(10);
textField_2.setBounds(236, 142, 86, 20);
contentPane.add(textField_2);
JLabel label_3 = new JLabel("\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC:");
label_3.setFont(new Font("Tahoma", Font.BOLD, 11));
label_3.setBounds(144, 61, 82, 14);
contentPane.add(label_3);
textField_3 = new JTextField();
textField_3.setToolTipText("\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC");
textField_3.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent e) {
textField_3.setText("");
}
});
textField_3.setText("\u0646\u0627\u0645 \u062E\u0627\u0646\u0648\u0627\u062F\u06AF\u06CC");
textField_3.setHorizontalAlignment(SwingConstants.RIGHT);
textField_3.setColumns(10);
textField_3.setBounds(48, 58, 86, 20);
contentPane.add(textField_3);
JLabel label_4 = new JLabel("\u0634. \u062A\u0645\u0627\u0633:");
label_4.setFont(new Font("Tahoma", Font.BOLD, 11));
label_4.setBounds(144, 104, 69, 14);
contentPane.add(label_4);
textField_4 = new JTextField();
textField_4.setToolTipText("\u0634\u0645\u0627\u0631\u0647 \u062A\u0645\u0627\u0633");
textField_4.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent e) {
textField_4.setText("");
}
});
textField_4.setText("\u0634\u0645\u0627\u0631\u0647 \u062A\u0645\u0627\u0633");
textField_4.setHorizontalAlignment(SwingConstants.RIGHT);
textField_4.setColumns(10);
textField_4.setBounds(48, 101, 86, 20);
contentPane.add(textField_4);
textField_5 = new JTextField();
textField_5.setToolTipText("\u0633\u0627\u0644 \u0648\u0631\u0648\u062F");
textField_5.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent e) {
textField_5.setText("");
}
});
textField_5.setText("\u0633\u0627\u0644 \u0648\u0631\u0648\u062F");
textField_5.setHorizontalAlignment(SwingConstants.RIGHT);
textField_5.setColumns(10);
textField_5.setBounds(48, 140, 86, 20);
contentPane.add(textField_5);
JLabel label_5 = new JLabel("\u0648\u0631\u0648\u062F\u06CC:");
label_5.setFont(new Font("Tahoma", Font.BOLD, 11));
label_5.setBounds(144, 143, 46, 14);
contentPane.add(label_5);
textField_6 = new JTextField();
textField_6.setToolTipText("\u0636\u0631\u0648\u0631\u06CC \u0646\u06CC\u0633\u062A");
textField_6.addMouseListener(new MouseAdapter() {
#Override
public void mouseClicked(MouseEvent e) {
textField_6.setText("");
}
});
textField_6.setHorizontalAlignment(SwingConstants.RIGHT);
textField_6.setText("\u0636\u0631\u0648\u0631\u06CC \u0646\u06CC\u0633\u062A");
textField_6.setColumns(10);
textField_6.setBounds(131, 187, 86, 20);
contentPane.add(textField_6);
JLabel label_6 = new JLabel("\u0627\u06CC\u0645\u06CC\u0644:");
label_6.setFont(new Font("Tahoma", Font.BOLD, 11));
label_6.setBounds(227, 190, 46, 14);
contentPane.add(label_6);
btnNewButton = new JButton("Done");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//dispose();
Frame1 addmem = new Frame1();
addmem.setVisible(true);
}
});
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 11));
btnNewButton.setBounds(171, 227, 89, 23);
contentPane.add(btnNewButton);
}
private static void addPopup(Component component, final JPopupMenu popup) {
component.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
showMenu(e);
}
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
showMenu(e);
}
}
private void showMenu(MouseEvent e) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
}
}
And Frame1.java:
public class Frame1 extends JFrame {
Connection connection = null;
private JFrame frame;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Frame1 window = new Frame1();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
private JTable table;
public Frame1() {
JOptionPane.showMessageDialog(null, "sazande :|");
this.initialize();
connection = DataBConect.dbConnect();
try {
String query = "select * from Users";
PreparedStatement pst = connection.prepareStatement(query);
ResultSet rs = pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
JOptionPane.showMessageDialog(null, "intialize :|");
frame.setTitle("App");
frame.setBounds(100, 100, 725, 465);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JButton AddB = new JButton("Add");
AddB.setBackground(Color.WHITE);
AddB.setFont(new Font("Tahoma", Font.BOLD, 11));
AddB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.dispose();
AddMember addmem = new AddMember();
addmem.setVisible(true);
}
});
AddB.setBounds(302, 392, 135, 23);
frame.getContentPane().add(AddB);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(22, 26, 658, 359);
frame.getContentPane().add(scrollPane);
table = new JTable();
scrollPane.setViewportView(table);
}
}
thanks.
As to why your second Frame1 shows no data, I'm not 100% sure, but perhaps it has something to do with your failure to close your database connection. Regardless, it seems wasteful and even potentially dangerous to want to gather the database data twice when you've already obtained it once, and to create your Frame1 GUI twice when you've already created it once.
You should re-design your GUI. The main JFrame GUI should remain visible, and the Frame1 window should be a modal JDialog. As a modal dialog, it will prevent users from being able to interact with the parent JFrame until the dialog is no longer visible.
Note that to get started requires only a few changes:
in Frame1.java
AddB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// frame.dispose();
AddMember addmem = new AddMember(Frame1.this); // !!
addmem.setVisible(true);
}
});
in AddMember.java
class AddMember extends JDialog {
public AddMember(JFrame frame) {
super(frame, "", ModalityType.APPLICATION_MODAL);
setTitle("\u0627\u0641\u0632\u0648\u062F\u0646 \u0639\u0636\u0648 \u062C\u062F\u06CC\u062F");
// !! setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// dispose();
dispose(); // !!
// !! Frame1 addmem = new Frame1();
// addmem.setVisible(true);
}
});
Also, you'll want to avoid null layouts and setBounds(...) as this will lead to very rigid, hard to debug and improve programs.

How to close second JFrame without terminating program

How do I dispose my second frame while retaining my MainFrame?
I have a JFrame( CCurrencyConverterFrame) that I call from the Main Frame.
JMenuItem mntmCurrencyConverter = new JMenuItem("Currency Converter");
mntmCurrencyConverter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
CCurrencyConverterFrame frame = new CCurrencyConverterFrame();
myFrame = frame;
JPanel contentPane = new CCurrencyConverter(myFrame);
frame.setContentPane(contentPane);
frame.setVisible(true);
}
});
In CCurrencyConverterFrame.java,
public CCurrencyConverterFrame() {
setFont(new Font("Dialog", Font.BOLD, 12));
getContentPane().setFont(new Font("Tahoma", Font.BOLD, 16));
setTitle("Currency Converter ");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 469, 470);
//Center
setLocationRelativeTo(null) ;
}
I have tried using JFrame.HIDE_ON_CLOSE but it still terminates my application. What can I do to resolve this?

Calling JPanel from another JPanel

I know this is ill advised but I am using absolute layout and trying to go from panel to panel and was curious how to do this.
public class Mainscreen extends JFrame {
private JPanel Home;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Mainscreen frame = new Mainscreen();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Mainscreen() {
final Dataentrylog DEL = new Dataentrylog();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setBounds(100, 100, 618, 373);
Home = new JPanel();
Home.setBackground(new Color(255, 250, 250));
Home.setBorder(new LineBorder(Color.DARK_GRAY, 1, true));
setContentPane(Home);
Home.setLayout(null);
JButton btnNewButton = new JButton("Data Entry login");
btnNewButton.setFont(new Font("Tahoma", Font.PLAIN, 14));
btnNewButton.setForeground(new Color(0, 0, 0));
btnNewButton.setBackground(UIManager.getColor("Menu.selectionBackground"));
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Home.setVisible(false);
setContentPane(DEL);
setLayout(null);
}
});
btnNewButton.setBounds(44, 214, 204, 61);
Home.add(btnNewButton);
}
}
Calling this JPanel which works
import java.awt.EventQueue;
public class Dataentrylog extends JPanel {
public Dataentrylog() {
setBounds(100, 100, 618, 373);
setBackground(new Color(255, 250, 250));
setBorder(new LineBorder(Color.DARK_GRAY, 1, true));
setLayout(null);
DEadmin DEA = new Deadmin();
final JButton btnSignIn = new JButton("Sign in");
btnSignIn.setFont(new Font("Tahoma", Font.PLAIN, 14));
btnSignIn.setBackground(UIManager.getColor("EditorPane.selectionBackground"));
btnSignIn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnSignIn.setBounds(226, 282, 153, 52);
add(btnSignIn);
}
}
While this works if I try an call another JPanel from Dataentry log the JFrame is blank. What can I do to call another JPanel? Any help would be great. Also, I know that layoutmanagers are the norm but for what I had to do I wasn't able to find anything that worked so I choose to use null despite my best judgement. THANKS!
Intialization of Dataentrylog should be like this
final Dataentrylog DEL = new Dataentrylog(this);
we have to pass the parent jframe.
public class Dataentrylog extends JPanel {
public Dataentrylog(final JFrame parent ) {
setBounds(100, 100, 618, 373);
setBackground(new Color(255, 250, 250));
setBorder(new LineBorder(Color.DARK_GRAY, 1, true));
final JButton btnSignIn = new JButton("Sign in");
btnSignIn.setFont(new Font("Tahoma", Font.PLAIN, 14));
btnSignIn.setBackground(UIManager.getColor("EditorPane.selectionBackground"));
btnSignIn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
JPanel panel = new JPanel();
panel.add(new JButton("Solved"));
parent.setContentPane(panel);
}
});
btnSignIn.setBounds(226, 282, 153, 52);
add(btnSignIn);
}
}

Categories

Resources