java使用swing写程序如何实现JFrame的跳转

例如写了一个JFrame,当点击登录后就跳到另一个JFrame,那,不能直接加一个new 那个类么,

4个回答

可以。MainMenuGUI gui = new MainMenuGUI();
gui.setVisible(true);

Xth8013
Xth8013 嗯嗯。解决了就好
3 年多之前 回复
qq_29637191
彩笔梳子 实在太谢谢了,就是空格的问题,刚学java现在在做课程设计。有问题继续请教你可以嘛谢谢!
3 年多之前 回复
Xth8013
Xth8013 回复qq_719144119: 那你断电点跟踪一下,看看rs.getString("Cpasswd")和jpassword的值,看看有没多空格导致不一样
3 年多之前 回复
qq_29637191
彩笔梳子 那个表中只有两列,Cname 和Cpasswd然后几个数据,
3 年多之前 回复
qq_29637191
彩笔梳子 是的我就是用getpassword,然后存到字符串jpasswd中
3 年多之前 回复
Xth8013
Xth8013 回复qq_719144119: 如果jpassword是JPasswordField,要jpassword.getPassword(),若是JTextField,要jpassword.getText(),获取控件里面的值
3 年多之前 回复
qq_29637191
彩笔梳子 就是密码的那个文本框获取的文本内容的字符串
3 年多之前 回复
Xth8013
Xth8013 回复qq_719144119: jpassword是什么
3 年多之前 回复
qq_29637191
彩笔梳子 我把配图放评论里了,Jtext是来直接输出密码的,跟数据库一样,那用equal判断怎么都是不一样
3 年多之前 回复
qq_29637191
彩笔梳子 可以啦,感谢,还有一个问题。。别嫌烦。。我数据库也连上了查找也应该没问题为啥根据用户名用select语句去找密码判断是不是相等都是不相等。。但是我直接输出密码是我数据库里的
3 年多之前 回复
Xth8013
Xth8013 LoginGUI.this.dispose();
3 年多之前 回复
qq_29637191
彩笔梳子 十分感谢!刚刚没写setvisable那个,那之前的那个窗口用什么函数关掉?
3 年多之前 回复

查询对应的用户名与密码,其实已经包含了密码验证不用多此一举

这是判断的配图。。。。图片

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java swing 面板跳转问题,急,谢谢

有两个Jframe,第一个Jframe上点击进入第二个可以,第二个Jframe上的返回第一个不行,谢谢大神帮我看看! 还有一个问题就是我在frame上面设置背景图片用的是Jlable的方式,但这样,我用其他的布局方式的时候,上面加的所有组件都不会显示除了背景,但是用这种直接定死位置的方法却可以显示,是为什么呢?对于用Jlable的方式显示背景图片,怎么修改才可以用其他布局显示加的其他组件呢? //第一个界面 public class Start { JLabel jlpic = new JLabel(); JFrame startJf = new JFrame("my Diary"); public Start() { initStart(); } public void show(){ startJf.setSize(800, 600); startJf.setResizable(false); startJf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE ); startJf.setVisible(true); } public void initStart() { ImageIcon icon = new ImageIcon("ico\\delu.jpg"); icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(), icon.getIconHeight(), Image.SCALE_DEFAULT)); // System.out.println(icon.getIconHeight() + "" + icon.getIconWidth()); jlpic.setBounds(0, 0, 800, 600); jlpic.setHorizontalAlignment(0); jlpic.setIcon(icon); Container c = new Container(); JButton bt = new JButton("进入"); bt.setBounds(130,450,500,50); //如果不用这种方式,按钮显示不出来 bt.setFocusable(false); bt.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub new Delu().show(); startJf.setVisible(false); } }); c.add(bt); c.add(jlpic); startJf.add(c); } public static void main(String args[]) { new Start().show(); } } //第二个界面 public class Delu implements ActionListener { private JLabel jlpic = new JLabel(); private JFrame Delujf = new JFrame("my Diary"); private JButton btPw; private JButton btRe; private JButton btDelu; private JButton back; private JLabel user; private JLabel password; private JTextField txf_userName; private JPasswordField pwd_password; public Delu() { initDelu(); } public void show() { Delujf.setSize(800, 600); Delujf.setResizable(false); Delujf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Delujf.setVisible(true); } public void initDelu() { ImageIcon icon = new ImageIcon("ico\\delu.jpg"); icon.setImage( icon.getImage().getScaledInstance(icon.getIconWidth(), icon.getIconHeight(), Image.SCALE_DEFAULT)); // System.out.println(icon.getIconHeight() + "" + icon.getIconWidth()); jlpic.setBounds(0, 0, 800, 600); jlpic.setHorizontalAlignment(0); jlpic.setIcon(icon); Container c = new Container(); back = new JButton("返回"); btPw = new JButton("找回密码"); btRe = new JButton("注册"); btDelu = new JButton("登录"); user = new JLabel("用户:"); password = new JLabel("密码:"); txf_userName = new JTextField(); pwd_password = new JPasswordField() { public void paste() { UIManager.getLookAndFeel().provideErrorFeedback(this); } }; user.setBounds(230, 125, 50, 25); password.setBounds(230, 160, 50, 25); txf_userName.setBounds(330, 125, 200, 25); pwd_password.setBounds(330, 160, 200, 25); back.setBounds(650,50,100,35); back.setFocusable(false); btDelu.setBounds(370, 300, 120, 50); btDelu.setIcon(new ImageIcon("ico\\李白.gif")); btPw.setFocusable(false); btPw.setBounds(300, 400, 120, 25); btPw.setFocusable(false); btRe.setBounds(440, 400, 120, 25); btRe.setFocusable(false); btPw.addActionListener(this); btRe.addActionListener(this); c.add(back); c.add(user); c.add(txf_userName); c.add(password); c.add(pwd_password); c.add(btDelu); c.add(btPw); c.add(btRe); c.add(jlpic); Delujf.add(c); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //返回--------------------------->回不去 if(e.getSource() == back){ new Start().show(); Delujf.setVisible(false); } //登录 if(e.getSource() == btDelu){ } //找回密码 if(e.getSource() == btPw){ } //注册 if(e.getSource() == btRe){ } } } ``` ```

java使用JFrame实现界面跳转时点击按键一次却出现两个一模一样的界面是怎么回事?

本人java初学者,想做一个信息管理系统,中间的功能已经实现的差不多了,但是出现了一个问题: ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643514_726314.png) 当我点击这个"返回"按钮时,会弹出两个一模一样的面板,(两个面板是重叠在一起的,我这里把他们拉开了) ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643628_820862.png) 但我的代码里并没有出现两次啊,而且在其他的功能中,点击返回按键,也只会出现一个面板啊,请大佬们指导一下,感激不尽! 涉及的部分代码如下: (这是图一面板的部分代码,下面是设置面板布局之类的代码,就不放了) ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643832_509138.png) 这是图一事件监听的部分代码 ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578643920_912714.png) 接下来是图二(菜单面板)的部分代码 ![图片说明](https://img-ask.csdn.net/upload/202001/10/1578644002_106303.png) 我觉得有问题的代码就这些了,希望大佬们指点迷津,如果代码不够我再放全部,万分感谢!!!

javaSwing 怎么实现点击按钮显示对应的界面

新手小白求解答 比如登录是登录界面.注册是注册界面求大神指教

我用java的swing制作了六个界面,怎么点击下一步转到另一个界面?

我用java的swing制作了六个界面,分不同的类制作的,怎么点击第一个界面下一步转到第二个界面以此类推下去?

关于java swing 为什么界面空白

package com.bbm.view; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.HeadlessException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.border.TitledBorder; public class BookBorrow extends JFrame { private static final long serivaVersionUID = 1L; private JPanel readerborrow_infoJP,bookborrowJP,buttonJP,readerinfoJP,reader_resultJP; private JScrollPane jscrollPane; private JTable jtable; private JLabel readeridJL,readernameJL,readertypeJL,ISBNJL,booktypeJL,booknameJL,authorJL,publishJL,publishdateJL,printtimeJL,unitpriceJL,nowdateJL,operatorJL; private JTextField readeridJTF,readernameJTF,readertypeJTF,ISBNJTF,booktypeJTF,booknameJTF,authorJTF,publishJTF,publishdateJTF,printtimeJTF,unitpriceJTF,nowdateJTF,operatorJTF; private JButton borrowJB,closeJB; public BookBorrow(){ setBounds(200,200,700,700); setTitle("图书借阅"); readerborrow_infoJP = new JPanel(new BorderLayout()); TitledBorder tb1 = new TitledBorder("读者借阅信息"); readerborrow_infoJP.setBorder(tb1); readerinfoJP = new JPanel(); readeridJL = new JLabel("读者编号:"); readeridJL.setHorizontalAlignment(SwingConstants.CENTER); readerinfoJP.add(readeridJL); readeridJTF = new JTextField(); readeridJTF.setColumns(10); readerinfoJP.add(readeridJTF); readernameJL = new JLabel("读者姓名:"); readernameJL.setHorizontalAlignment(SwingConstants.CENTER); readerinfoJP.add(readernameJL); readernameJTF = new JTextField(); readernameJTF.setColumns(10); readerinfoJP.add(readernameJTF); readertypeJL = new JLabel("读者类别:"); readertypeJL.setHorizontalAlignment(SwingConstants.CENTER); readerinfoJP.add(readertypeJL); readertypeJTF = new JTextField(); readertypeJTF.setColumns(10); readerinfoJP.add(readertypeJTF); readerborrow_infoJP.add(readerinfoJP,BorderLayout.NORTH); reader_resultJP = new JPanel(); jscrollPane = new JScrollPane(); jscrollPane.setPreferredSize(new Dimension(400,200)); jtable = new JTable(); jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jscrollPane.setViewportView(jtable); reader_resultJP.add(jscrollPane); readerborrow_infoJP.add(reader_resultJP,BorderLayout.CENTER); this.add(readerborrow_infoJP,BorderLayout.NORTH); bookborrowJP = new JPanel(); TitledBorder tb2 = new TitledBorder("图书借阅"); bookborrowJP.setBorder(tb2); GridLayout gridLayout = new GridLayout(5, 4, 8, 8); bookborrowJP.setLayout(getLayout()); ISBNJL = new JLabel("ISBN:"); ISBNJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(ISBNJL); ISBNJTF = new JTextField(); bookborrowJP.add(ISBNJTF); booktypeJL = new JLabel("类别:"); booktypeJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(booktypeJL); booktypeJTF = new JTextField(); bookborrowJP.add(booktypeJTF); booknameJL = new JLabel("书名:"); booknameJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(booknameJL); booknameJTF = new JTextField(); bookborrowJP.add(booknameJTF); authorJL = new JLabel("作者:"); authorJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(authorJL); authorJTF = new JTextField(); bookborrowJP.add(authorJTF); publishJL = new JLabel("出版社:"); publishJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(publishJL); publishJTF = new JTextField(); bookborrowJP.add(publishJTF); publishdateJL = new JLabel("出版日期:"); publishdateJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(publishdateJL); publishdateJTF = new JTextField(); bookborrowJP.add(publishdateJTF); printtimeJL = new JLabel("印刷次数:"); printtimeJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(printtimeJL); printtimeJTF = new JTextField(); bookborrowJP.add(printtimeJTF); unitpriceJL = new JLabel("单价:"); unitpriceJL.setHorizontalAlignment(SwingConstants.CENTER); unitpriceJTF = new JTextField(); bookborrowJP.add(unitpriceJTF); nowdateJL = new JLabel("当前日期:"); nowdateJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(nowdateJL); nowdateJTF = new JTextField(); bookborrowJP.add(nowdateJTF); operatorJL = new JLabel("操作人员:"); operatorJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(operatorJL); operatorJTF = new JTextField(); bookborrowJP.add(operatorJTF); this.add(bookborrowJP,BorderLayout.CENTER); buttonJP = new JPanel(); borrowJB = new JButton("借阅"); closeJB = new JButton("关闭"); buttonJP.add(borrowJB); buttonJP.add(closeJB); this.add(buttonJP,BorderLayout.SOUTH); this.setVisible(true); this.setResizable(false); } public static void main(String[] args) { new BookBorrow(); } }

java swing 中判断问题

编程当中有一个修改密码的jFrame,但是另外两个jFrame要共同使用这一个jFrame,其中一个是客户修改密码,另外一个是管理员修改密码,但是怎样判断是从客户界面跳转到这个jFrame还是从管理员界面跳转到这个jFrame,从而进行相应的操作。这个怎么实现?

关于在JFrame中加入JInternalFrame出现不能最大最小化

[code="java"] import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyVetoException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JPanel; public class TT { public static void main(String[] args) { new TT(); } private JButton jb; private JFrame jf; private JPanel jp; public TT() { jf = new JFrame(); jp = new JPanel(); jf.setVisible(true); jf.setBounds(250, 200, 800, 400); jf.setResizable(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jb = new JButton("xxxxxxxxxxxxxxxxxxxxxx"); jf.add(jb,BorderLayout.NORTH); jf.add(jp); jb.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { JInternalFrame jin = new JInternalFrame("xxxxxx",true,true,true,true); jin.setVisible(true); jin.setSize(150, 150); try { jin.setSelected(true); } catch (PropertyVetoException e) { e.printStackTrace(); } jp.add(jin); }}); } } [/code]

JFrame的JButton点击事件无法正确显示另外的界面

网上找了个程序,自己改,是一个小游戏,本来只有一个游戏界面,我想添加一个登录页面,结果就刚加了个界面就卡住了。从Fishlord类中使用main()函数可以正确显示,但是通过另外一个JFrame通过JButton点击事件调用Fishlord时无法显示,而且连右上角的关闭按钮都不能点击! 代码在下面: 这个界面有按钮,点击按钮跳转到下面那个iframe,在JButton点击事件里使用new的方法 package fishhh; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class Login { private static JFrame frame; public static void main(String[] args) throws Exception { // 窗体大小 frame = new JFrame(); frame.setSize(800, 480); frame.setLayout(null);//设置布局管理器为空 JButton button = new JButton("登 录"); button.setBounds(new Rectangle(280, 210, 220, 30));//参数分别是坐标x,y,宽,高 frame.add(button); JTextField tfUser = new JTextField(); tfUser.setBounds(new Rectangle(280, 140, 220, 25)); frame.add(tfUser); JPasswordField tfPwd = new JPasswordField(); tfPwd.setBounds(new Rectangle(280, 170, 220, 25)); frame.add(tfPwd); // 显示窗体 frame.setVisible(true); ImageIcon img = new ImageIcon("bg.jpg");// 这是背景图片 JLabel imgLabel = new JLabel(img);// 将背景图放在标签里。 frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE)); imgLabel.setBounds(0, 0, frame.getWidth(), frame.getHeight()); Container cp = frame.getContentPane(); cp.setLayout(null); ((JPanel) cp).setOpaque(false); // 这样就能显示出背景图片出来了 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //创建新的窗口 frame.setVisible(false); try { new Fishlord(); } catch (Exception e1) { e1.printStackTrace(); } } }); } public void close(){ frame.dispose(); } } 跳转到这个界面 package fishhh; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class Fishlord { public static void main(String[] args) throws Exception { new Fishlord(); } public Fishlord() throws Exception{ JFrame frame = new JFrame("捕鱼达人"); Pool pool = new Pool(); frame.add(pool); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口时关闭程序 frame.setSize(800, 480); frame.setLocationRelativeTo(null);// 设置窗口居中,必须放在setSize之后 frame.setResizable(false);// 不允许用户改变窗口大小 frame.setVisible(true); pool.action(); } } class Pool extends JPanel { BufferedImage background = null; Fish fish = null;; Fish[] fishs = new Fish[9]; Net net = null; int score = 0; int fontsize = 20; Font font = new Font("楷体", Font.BOLD, fontsize); Pool() throws IOException { // background = ImageIO.read(new File("bg.jpg")); //读取工程目录图片 background = ImageIO.read(getClass().getResourceAsStream("/images/bg.jpg")); /** * 1)getClass().getResourceAsStream()方法读取的是src/images包下的图片 2)background * = ImageIO.read(new File("images/bg.jpg")); * 这个方法读取的是工程CatchFish/images文件夹下的图片 */ for (int i = 0; i < 9; i++) { fish = new Fish("fish0" + (i + 1)); fishs[i] = fish; fish.start(); } } public void paint(Graphics g) { // paint什么时候调用? // System.out.println("paint"); g.drawImage(background, 0, 0, null); for (int i = 0; i < fishs.length; i++) { Fish tempfish = fishs[i]; g.drawImage(tempfish.fishimage, tempfish.x, tempfish.y, null); } if (net.show) { g.drawImage(net.netimage, net.x - net.width / 2, net.y - net.height / 2, null); } g.setFont(font); g.setColor(Color.white); g.drawString("SCORE:", 10, 20); g.setColor(Color.red); g.drawString(" " + score, 10, 20); } public void action() throws Exception { net = new Net(); MouseAdapter m = new MouseAdapter() { public void mouseEntered(MouseEvent e) { net.show = true; } public void mouseExited(MouseEvent e) { net.show = false; } // 在鼠标移动时候执行 public void mouseMoved(MouseEvent e) { // MouseEvent 鼠标事件:鼠标事件发生时间地点人物 long time = e.getWhen(); int x = e.getX(); int y = e.getY(); // Object o=e.getSource();//发生事件的物体pool net.x = x; net.y = y; } public void mousePressed(MouseEvent e) { catchFish();// catch:抓鱼 在鼠标按下的时候,进行抓鱼操作 } }; // 在当前方法中代表当前的 这个(this)pool对象 this.addMouseListener(m); // 处理这个pool对象鼠标动作 this.addMouseMotionListener(m); net.show = true;// 调试代码 while (true) { // System.out.println("repaint"); repaint(); try { Thread.sleep(80); } catch (Exception e) { e.printStackTrace(); } } } protected void catchFish() { // 鱼在不在网的范围内?在的话就让鱼消失 for (int i = 0; i < fishs.length; i++) { fish = fishs[i]; if (fish.contains(net.x, net.y)) {// 判断在不在网的范围 fish.getOut(); score += fish.width / 10; } } } } class Fish extends Thread { int x, y, index = 0, width, height, step; BufferedImage fishimage; BufferedImage[] fishimages = new BufferedImage[9]; Random r; Fish(String fishname) throws IOException { // System.out.println("Fish()"); for (int i = 0; i < 9; i++) { // BufferedImage tempfishimage = ImageIO.read(new File(fishname + // "_0" // + (i + 1) + ".png")); BufferedImage tempfishimage = ImageIO.read(getClass() .getResourceAsStream( "/images/" + fishname + "_0" + (i + 1) + ".png")); fishimages[i] = tempfishimage; } fishimage = fishimages[index]; r = new Random();// 不写数字表示的是int范围内的一个数字 width = fishimage.getWidth(); height = fishimage.getHeight(); x = 790; y = r.nextInt(470 - height); step = r.nextInt(4) + 1; } public void run() { while (true) { try { Thread.sleep(50); index++; fishimage = fishimages[index % fishimages.length]; // 现在要动,所以要改变图片?300 x = x - step; if (x <= 0 || y <= 0 || y >= 480) getOut(); } catch (Exception e) { } } } // 检查(netx,nety)的坐标是否在鱼的范围之内 public boolean contains(int netx, int nety) { int dx = netx - x; int dy = nety - y; return dx >= 0 && dx <= width && dy >= 0 && dy <= height; } void getOut() { Random r = new Random(); x = 790; y = r.nextInt(470 - height); step = r.nextInt(4) + 1; } } class Net { // 网的位置随着鼠标指针的移动而移动 BufferedImage netimage = null; int x = 0, y = 0, width, height; boolean show;// 是否显示当前网对象 Net() throws Exception { // netimage = ImageIO.read(new File("net09.png")); netimage = ImageIO.read(getClass().getResourceAsStream( "/images/net09.png")); show = false; width = netimage.getWidth(); height = netimage.getHeight(); } }

java做一个登陆界面 然后连接的数据库的数据的程序怎么写

数据库是sql server 2008,具体程序要怎么写 求教一下

如何在JFrame中通过按钮事件载入不同面板?

我写了一个程序,想实现按oval按钮时,绘制圆形,按rectangle时,绘制矩形。 所以我写了两个JPanel的子类oval类和rectangle类。然后在JFrame中 想通过点击 不同按钮实现不同jpanel类的调用,该如何实现? jframe子类 public class DrawShapeByMouse extends JFrame { //add two buttons private JButton button1 = new JButton("Oval"); private JButton button2 = new JButton("Rectangle"); private JPanel ShapeJpanel = new DrawOval(); //Constructors public DrawShapeByMouse() { this.add(ShapeJpanel,BorderLayout.CENTER); add(button1,BorderLayout.SOUTH); add(button2,BorderLayout.NORTH); //给按键注册监听器 button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ShapeJpanel = new DrawOval(); } }); button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ShapeJpanel = new DrawRectangle(); System.out.println("你好世界!"); } }); } public static void main(String[] args) { DrawShapeByMouse frame = new DrawShapeByMouse(); frame.setTitle("DrawOvalByMouse"); frame.setSize(400,400); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } oval类 class DrawOval extends JPanel { private final Color[] color = {Color.red,Color.YELLOW,Color.GREEN,Color.ORANGE}; //填充颜色 private int xCoord = 0;// private int yCoord = 0;//圆心坐标 private final int radius = 30; //半径 private int num = 0; //用来控制颜色 //Constructors public DrawOval() { //鼠标点击事件注册监听器并且实现接口 this.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { xCoord = e.getX(); yCoord = e.getY(); num = (int)(Math.random()*color.length); repaint(); } }); this.addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { xCoord = e.getX(); yCoord = e.getY(); repaint(); } }); } //绘制面板 protected void paintComponent(Graphics g) { //super.paintComponent(g); g.setColor(color[num]); g.fillOval(xCoord-radius, yCoord-radius,radius,radius); } } rectangle同oval类;

Java,新人求教:如在一个JFrame里,上下显示两个JTable。

只有将布局管理器设置为BorderLayout和BoxLayout才能显示一个,到底为甚么,怎么都想不通

java使二级菜单栏点击出现一个窗口,没反应,事件处理如何处理?

package FakeMenu; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.EmptyBorder; import javax.swing.JMenuBar; import javax.swing.JMenu; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JMenuItem; import javax.swing.JOptionPane; public class FakeMenu extends JFrame { /** * */ private static final long serialVersionUID = 1L; private JPanel contentPane; JTextField t; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { FakeMenu frame = new FakeMenu(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public FakeMenu() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 308); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu mnFile = new JMenu("File"); menuBar.add(mnFile); JMenu mnNewMenu_1 = new JMenu("New"); mnNewMenu_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "ada"); } }); mnFile.add(mnNewMenu_1); JMenu mnNewMenu_2 = new JMenu("Open"); mnFile.add(mnNewMenu_2); JMenu mnSave_1 = new JMenu("Save"); mnFile.add(mnSave_1); JMenu mnNewMenu = new JMenu("Edit"); menuBar.add(mnNewMenu); JMenu mnCopy = new JMenu("Copy"); mnNewMenu.add(mnCopy); JMenu mnCut = new JMenu("Cut"); mnNewMenu.add(mnCut); JMenu mnNewMenu_3 = new JMenu("Paste"); mnNewMenu.add(mnNewMenu_3); JMenu mnSave = new JMenu("Help"); menuBar.add(mnSave); JMenu mnAbout = new JMenu("About"); mnSave.add(mnAbout); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); } }

java用外部类监听器来监听按钮

import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import javax.swing.JFrame; public class A extends JFrame { MenuBar mb = new MenuBar(); Menu m1 = new Menu("系统管理"); MenuItem m11 = new MenuItem("修改密码"); MenuItem m12 = new MenuItem("退出"); public A() { this.setSize(300, 200); this.setLocationRelativeTo(null); this.setVisible(true); this.setDefaultCloseOperation(3); this.setMenuBar(mb); mb.add(m1); m1.add(m11); m1.add(m12); m12.addActionListener(new B()); } public static void main(String[] args) { new A(); } } import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class B implements ActionListener { public void actionPerformed(ActionEvent e) { A a = new A(); if(e.getSource() == a.m12) { System.exit(0); } } } 要怎么才能实现?

我swing了一个登陆界面,在eclipse中运行时显示正常,但是生成jar并运行jar后,背景不显示。

![图片说明](https://img-ask.csdn.net/upload/201904/14/1555249560_377777.jpg)![图片说明](https://img-ask.csdn.net/upload/201904/14/1555249570_781286.jpg) 我swing了一个登陆界面,在eclipse中运行时显示正常,但是生成jar并运行jar后,背景不显示。 ``` public class Login extends JFrame { JPanel contentPane; JPasswordField passwordField; public static void main(String[] args) { Login frame = new Login(); } public Login() { setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(600, 300, 600, 400); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); //组件 JLabel label1 = new JLabel("\u6B22\u8FCE\u767B\u9646\u7A3B\u7530\u7EFC\u5408\u79CD\u517B\u4FE1\u606F\u670D\u52A1\u7CFB\u7EDF"); label1.setForeground(Color.BLACK); label1.setFont(new Font("微软雅黑", Font.BOLD, 30)); label1.setHorizontalAlignment(SwingConstants.CENTER); label1.setBounds(34, 51, 511, 53); contentPane.add(label1); JLabel label2 = new JLabel("\u7528\u6237\u540D"); label2.setFont(new Font("宋体", Font.PLAIN, 20)); label2.setForeground(Color.BLACK); label2.setHorizontalAlignment(SwingConstants.CENTER); label2.setBounds(77, 136, 72, 32); contentPane.add(label2); JLabel label3 = new JLabel("\u5BC6\u7801"); label3.setForeground(Color.BLACK); label3.setFont(new Font("宋体", Font.PLAIN, 20)); label3.setHorizontalAlignment(SwingConstants.CENTER); label3.setBounds(77, 208, 72, 32); contentPane.add(label3); setVisible(true); setTitle("登陆"); //登陆界面布局 JButton button1=new JButton("登陆"); button1.setBounds(147, 284, 113, 27); contentPane.add(button1); JTextField textField=new JTextField(); textField.setBounds(177, 140, 302, 24); contentPane.add(textField); textField.setFont(new Font("宋体",Font.PLAIN,20)); textField.setColumns(10); JPasswordField passwordField=new JPasswordField(); passwordField.setBounds(177, 214, 302, 24); passwordField.setFont(new Font("宋体",Font.PLAIN,20)); contentPane.add(passwordField); JButton button2 = new JButton("清除"); button2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textField.setText(""); passwordField.setText(""); } }); button2.setBounds(330, 284, 113, 27); contentPane.add(button2); //设置背景 ImageIcon imageIcon=new ImageIcon("src/picture/1.jpg"); JLabel label=new JLabel(imageIcon); label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight()); getLayeredPane().add(label,new Integer(Integer.MIN_VALUE)); JPanel panel=(JPanel)getContentPane(); panel.setOpaque(false); JPanel panel2=new JPanel(); panel2.setOpaque(false); panel2.setLayout(null); //登陆功能 textField.setText("admin"); passwordField.setText("123"); button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String str=textField.getText(); char ch[]=passwordField.getPassword(); String pass=new String(ch); /* boolean bool1= str=="admin"; boolean bool2= pass=="123"; System.out.println(bool1); System.out.println(bool2); */ if (str.equals("admin") && pass.equals("123") ){ mainpage p=new mainpage(); dispose(); } else { JOptionPane.showMessageDialog(null, "用户名或密码错误!","登陆失败!",JOptionPane.PLAIN_MESSAGE); } } }); } } ```

javafx 界面跳转怎么做

javafx只有一个舞台,界面跳转怎么做?swing直接调用一个jframe,fx中该真么实现?

windowbuilder实现两个窗口切换

windowbuilder怎么实现登录窗口打开另一个窗口,打开的窗口也能用windowbuilder编辑

JAVA怎么做点击按钮促发事件弹出浏览窗口选择excel文件读取,并显示到另外一个界面上,请给出主要代码

JAVA怎么做点击按钮促发事件弹出浏览窗口选择excel文件读取,并显示到另外一个界面上?package com.excel; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import javax.swing.JTextArea; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; /** * 解析Excel的类 */ public class ExcelOperate { private JTextArea area; private String fileName; /** * 构造方法传值 * * @param area * 显示Excel内容的位置 * @param fileName * Excel文件名 */ public ExcelOperate(JTextArea area, String fileName) { this.area = area; this.fileName = fileName; } /** * 解析Excel文件 */ public void parseExcel() { File file = new File(fileName); String[][] result = null; try { result = getData(file, 1); } catch (IOException e) { e.printStackTrace(); } int rowLength = result.length; for (int i = 0; i < rowLength; i++) { for (int j = 0; j < result[i].length; j++) { area.append(result[i][j] + "\t\t"); } area.append("\n"); } } /** * 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行 * * @param file * 读取数据的源Excel * @param ignoreRows * 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1 * @return 读出的Excel中数据的内容 * @throws FileNotFoundException * @throws IOException */ public static String[][] getData(File file, int ignoreRows) throws FileNotFoundException, IOException { List<String[]> result = new ArrayList<String[]>(); int rowSize = 0; BufferedInputStream in = new BufferedInputStream(new FileInputStream( file)); // 打开HSSFWorkbook POIFSFileSystem fs = new POIFSFileSystem(in); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFCell cell = null; for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) { HSSFSheet st = wb.getSheetAt(sheetIndex); // 第一行为标题,不取 for (int rowIndex = ignoreRows; rowIndex <= st.getLastRowNum(); rowIndex++) { HSSFRow row = st.getRow(rowIndex); if (row == null) { continue; } int tempRowSize = row.getLastCellNum() + 1; if (tempRowSize > rowSize) { rowSize = tempRowSize; } String[] values = new String[rowSize]; Arrays.fill(values, ""); boolean hasValue = false; for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) { String value = ""; cell = row.getCell(columnIndex); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: value = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); if (date != null) { value = new SimpleDateFormat("yyyy-MM-dd") .format(date); } else { value = ""; } } else { value = new DecimalFormat("0").format(cell .getNumericCellValue()); } break; case HSSFCell.CELL_TYPE_FORMULA: // 导入时如果为公式生成的数据则无值 if (!cell.getStringCellValue().equals("")) { value = cell.getStringCellValue(); } else { value = cell.getNumericCellValue() + ""; } break; case HSSFCell.CELL_TYPE_BLANK: break; case HSSFCell.CELL_TYPE_ERROR: value = ""; break; case HSSFCell.CELL_TYPE_BOOLEAN: value = (cell.getBooleanCellValue() == true ? "Y" : "N"); break; default: value = ""; } } if (columnIndex == 0 && value.trim().equals("")) { break; } values[columnIndex] = rightTrim(value); hasValue = true; } if (hasValue) { result.add(values); } } } in.close(); String[][] returnArray = new String[result.size()][rowSize]; for (int i = 0; i < returnArray.length; i++) { returnArray[i] = (String[]) result.get(i); } return returnArray; } /** * 去掉字符串右边的空格 * * @param str * 要处理的字符串 * @return 处理后的字符串 */ public static String rightTrim(String str) { if (str == null) { return ""; } int length = str.length(); for (int i = length - 1; i >= 0; i--) { if (str.charAt(i) != 0x20) { break; } length--; } return str.substring(0, length); } } ------------------------------------------------------------------------------------------ package com.excel; import java.awt.BorderLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.UIManager; import javax.swing.filechooser.FileNameExtensionFilter; /** * 主界面,按钮响应事件,文本域输出Excel内容 */ public class OpenExcel extends JFrame implements ActionListener { private JButton button; private JScrollPane pane; private JTextArea area; public OpenExcel() { super("解析Excel"); button = new JButton("点我选择Excel文件"); button.addActionListener(this); area = new JTextArea(); pane = new JScrollPane(area); this.add(button, BorderLayout.NORTH); this.add(pane); this.setSize(300, 300); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } // 按钮事件 public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser();// 文件选择对话框 chooser.setAcceptAllFileFilterUsed(false);// 取消所有文件过滤项 chooser.setFileFilter(new FileNameExtensionFilter("Excel文件", "xls"));// 设置只过滤扩展名为.xls的Excel文件 int i = chooser.showOpenDialog(this);// 打开窗口 if (i == JFileChooser.APPROVE_OPTION) { this.setLocation(0, 0); this.setSize(Toolkit.getDefaultToolkit().getScreenSize()); new ExcelOperate(area, chooser.getSelectedFile().getAbsolutePath()) .parseExcel(); } } public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); new OpenExcel(); } }我的代码是这样的,但是界面显示不出来,是什么问题?![图片](https://img-ask.csdn.net/upload/201706/09/1496974828_84401.jpg)

java怎么实现点击确定按钮后,弹出一个窗口把录入的信息显示出来?求大神啊

是用监听器?但是还是具体怎么写不清楚![图片](https://img-ask.csdn.net/upload/201704/27/1493253566_174127.jpg)

Java AWT中如何输入文本,点击按钮后将文本输入到屏幕上

按照图片所展示的内容进行解释应该要清楚点。 ![图片说明](https://img-ask.csdn.net/upload/202004/23/1587632481_890279.png) 我现在想的是在Enter Text后面的Text Field输入东西,然后点击send,屏幕上方显示我输入的东西,也就是123.我现在是用了另外一个textfield(在屏幕上方)显示出我在下方输入的文本。但是我想的是实现下图这样的效果。 ![图片说明](https://img-ask.csdn.net/upload/202004/23/1587632717_777780.png) 下图这种看不出来是textfield,而且充满了除了下方按钮 TextField Label的整个屏幕。 想问下大家如何实现这样的功能。

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问