java Swing JComboBox下拉框显示图片问题

[code="java"]public class mousergister extends JPanel {
JPanel jp;
JComboBox setImg;
ComboBoxRenderer renderer;

public static void main(String[] args) {
    new mousergister();
}

public mousergister() {
    BaseFrame bf=new BaseFrame("用户注册");
    bf.add(this);               
    this.setLayout(null);


    renderer = new ComboBoxRenderer();
    renderer.setPreferredSize(new Dimension(100, 50));

    Object elements[][] = {
            { new MyIcon("images/1.jpg",this)},
            { new MyIcon("images/2.gif",this) },
            { new MyIcon("images/3.jpg",this)},
            };

    setImg = new JComboBox(elements);
    setImg.setRenderer(renderer);           
    setImg.setBounds(120, 25, 75, 60);
    add(setImg);

    bf.setLocation(500, 100);// 设置窗口在屏幕的位置
    bf.setSize(320, 420);
    bf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    bf.setResizable(false);// 设置游戏窗口大小不可改变
    bf.setVisible(true);

}

private class ComboBoxRenderer extends JLabel implements ListCellRenderer {

    // 这样要是实现接口的方法:

    /*
     * 
     * This method finds the image and text corresponding to the selected
     * 
     * value and returns the label, set up to display the text and image.
     */

    @Override
    public Component getListCellRendererComponent(JList list, Object value,
            int index, boolean isSelected, boolean cellHasFocus) {

        ImageIcon image=null;

         if (value instanceof Object[]) {
             Object[] values = (Object[]) value;                 
              image = (ImageIcon)values[0];
            }
            if (image != null) {

              this.setIcon(image);
            }
            return this;
          }          
}

private class MyIcon extends ImageIcon{
    private Image m;
    private String str;
    private mousergister jp;

    public MyIcon(String str,mousergister jp) {
        Toolkit tool;
        tool = jp.renderer.getToolkit();
        m = tool.getImage(str);
      }
     public void paintIcon(Component lab, Graphics g){
        lab=jp.renderer;
        g.drawImage(m, 20, 20, lab);

    }   

}
}[/code]

图片不会显示。。。怎么改?

3个回答

[quote]
Object elements[][] = {

{ new MyIcon("images/1.jpg",this)},

{ new MyIcon("images/2.gif",this) },

{ new MyIcon("images/3.jpg",this)},

};

[/quote]
这段直接用ImageIcon
[code="java"]
Object elements[][] = {

{ new ImageIcon(this.getClass().getResource("images/1.jpg"))},

{ new ImageIcon(this.getClass().getResource("images/2.gif")) },

{ new ImageIcon(this.getClass().getResource("images/3.jpg"))},

};

[/code]

chzIIQ_Q
不是陳序员 虽然我不是这么改的,但是有点启发,还是谢谢。
6 年多之前 回复

请google,这种类似于自定义显示的,一搜一大把!

getListCellRendererComponent()方法是需要修改的。

参数value是Object类型,if的判断条件value instanceof Object[]不会成立,if代码块是不会执行的。

[code="java"]if (value instanceof Object[]) {

Object[] values = (Object[]) value;

image = (ImageIcon)values[0];

}

if (image != null) {

              this.setIcon(image);   
            }   
            return this;   
          }    [/code]         

改成下面的试试。
[code="java"]public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {

        if (value != null) {
            setIcon(new ImageIcon("images/1.jpg"));
        }

        if (isSelected) {
            setBackground(list.getSelectionBackground());
            setForeground(list.getSelectionForeground());
        } else {
            setBackground(list.getBackground());
            setForeground(list.getForeground());
        }
        return this;
    }[/code]
chzIIQ_Q
不是陳序员 value instanceof Object[] 会成立啊 if (value instanceof Object[]){ Object values[] = (Object[]) value; Icon = (ImageIcon) values[0]; } if (Icon != null) { setIcon(Icon); } 改成这样最后可以了,图片都显示出来了。。
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
swing JComboBox组件怎么显示以下效果?

在鼠标悬停在某一项或者点击某一项时候显示方框里的效果. ![图片说明](https://img-ask.csdn.net/upload/201909/25/1569417316_278069.png) 或者也可以这样 ![图片说明](https://img-ask.csdn.net/upload/201909/25/1569417470_567669.png) **不要纠结我用中文,自娱自乐用的......**

JComboBox下拉框选项如何可删除

如何让JComboBox下拉框选项中包含JLabel与JButton, JButton可以删除该项, 并且JComboxBox的text 显示的文本信息只有JLabel没有JButton

Java关于JComboBox长度固定的问题

如图所示: “安放位置”的JComboBox中的参数是根据“工装型架”所选的JComboBox决定,对于不同的“工装型架”,右边的“安放位置”的JComboBox中参数的长度也不相同。 如何设置一个初值,将JComboBox的长度固定。尝试使用过.setsize(Dimension d);和.setsize(hight, weight);方法都无法固定其长度。 ![图片说明](https://img-ask.csdn.net/upload/201704/06/1491463788_603476.png) ![图片说明](https://img-ask.csdn.net/upload/201704/06/1491463798_538549.png) 谢谢各位大神帮助!!!

JComboBox添加图片

我要往JComboBox里面添加的数据,会有3种样式 1、会全部是文本字符串,2、 全部是图片。3、 图片与字符串是混乱的,它们之间没有位置关系,都是随机的。 我的下拉框要能添加这样子的一些数据到里面,请问该怎么个实现法?谢谢!

Java界面的JComboBox下拉菜单列表按钮点击,列表无法弹出是怎么回事???

![图片说明](https://img-ask.csdn.net/upload/201605/02/1462199029_613332.png)

JCombobox如何实现编辑数据而去检索下拉列表中的值

如何实现JCombobox的如下功能: 1:在JCombobox中编辑值时检索item,如:item中值为:ab,ac,bb,cc 我们输入a时:下拉框展示 ab ac两条数据 输入b时展示ab,bb 2:Jcombobox是在点击他时会弹出下拉列表,如何实现在编辑时自动弹出下拉列表。(其实1中就包含了2)。

Java从数据库多个表中获取信息,添加到JComboBox中要怎么做?

java中一个功能,需要在多个选修课表中,根据学号获取各个选修课表中本学号所选的科目,并添加到JComboBox中。形成一个下拉列表,要怎么做?

swing 实现类似QQ下拉框图片自由变大缩小

swing jComboBox实现类似QQ下拉框图片自由变大缩小并加入关闭按钮[如何定位到按钮] 请提供思路和想法 谢谢你们....

java 实现省市区三级联动时jcombobox的监听问题

如题,想要通过读取Excel文件(一列id,一列地区名称)来实现,但是目前可以实现省市两级, 在区上遇到了combobox框的监听问题。希望通过选中下拉框的选项,调取该选项对应的id,来传给下一级来筛序,在调试的过程中发现程序会自动执行市级组合框的监听,结果是找不到匹配的选项。 贴上代码: ```java package area; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.io.FileInputStream; import java.io.InputStream; /** * Created by zhigeek on 2016/11/8. */ public class SecondComboboxDemo { Frame frame = new JFrame("JComboBox Demo"); JComboBox jcb1, jcb2, jcb3; JTextArea ta = new JTextArea(0, 30); // 用于显示结果的文本区 String[] No1 = null, No2 = null; String[] itemList; String[] itemList2; String[] itemList3; JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); JPanel p4 = new JPanel(); JPanel p5 = new JPanel(); Border etched = BorderFactory.createEtchedBorder(); // 创建边框 Border border = BorderFactory.createTitledBorder(etched, "Uneditable JComboBox"); // 表框加上标题 public static void main(String args[]) { SecondComboboxDemo cbd = new SecondComboboxDemo(); //String[] No1 = getNo1Lever(); //String[] No2 = getNo2Lever(1); cbd.go(); } public static String[] getNo1Lever() { InputStream is; String[] no1List = null; int j = 0; try { is = new FileInputStream("中国各地区代码表.xls"); jxl.Workbook workbook = Workbook.getWorkbook(is); Sheet rs = workbook.getSheet(0); int row = rs.getRows(); no1List = new String[35]; for (int i = 0; i < row; i++) { Cell cell = rs.getCell(0, i); int cellsize = Integer.parseInt(cell.getContents()); if (cellsize / 10 <= 9) { Cell cell2 = rs.getCell(1, i); //System.out.println(cell2.getContents()); no1List[j] = cell2.getContents(); j++; } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return no1List; } public static String[] getNo2Lever(int no1) { InputStream is; String[] no2List = null; try { is = new FileInputStream("中国各地区代码表.xls"); jxl.Workbook workbook = Workbook.getWorkbook(is); Sheet rs = workbook.getSheet(0); int row = rs.getRows(); int j = 0; no2List = new String[50]; for (int i = 0; i < row; i++) { Cell cell = rs.getCell(0, i); int Cell2 = Integer.parseInt(cell.getContents()); if (Cell2 / 100 == no1 && Cell2 / 100 < 99) { Cell cell2 = rs.getCell(1, i); //System.out.println(cell2.getContents()); no2List[j] = cell2.getContents(); j++; } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return no2List; } public static String[] getNo3Lever(int no2) { InputStream is; String[] no3List = null; try { is = new FileInputStream("中国各地区代码表.xls"); jxl.Workbook workbook = Workbook.getWorkbook(is); Sheet rs = workbook.getSheet(0); int row = rs.getRows(); int cell3 = 0; int j = 0; no3List = new String[50]; for (int i = 0; i < row; i++) { Cell cell = rs.getCell(0, i); //int cellsize=cell.toString().length(); int Cell2 = Integer.parseInt(cell.getContents()); if (Cell2 / 100 == no2) { Cell cell2 = rs.getCell(1, i); //System.out.println(cell2.getContents()); no3List[j] = cell2.getContents(); j++; } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return no3List; } public void go() { // 创建内部JPanel容器 itemList = getNo1Lever(); jcb1 = new JComboBox(itemList); jcb1.setSelectedIndex(0); // 设置第4个可选项为当前的显示项 // // p1.add(jcb1); // p1.setBorder(border); // 添加4个可选项 itemList2 = getNo2Lever(11); jcb2 = new JComboBox(itemList2); // 将jcb2设置为可编辑的 jcb2.setEditable(true); //itemList3 = getNo3Lever(0); jcb3 = new JComboBox(); // 将jcb2设置为可编辑的 jcb3.setEditable(true); p1.add(jcb1); border = BorderFactory.createTitledBorder(etched, " 省直辖市"); p1.setBorder(border); p2.add(jcb2); border = BorderFactory.createTitledBorder(etched, " 区市"); p2.setBorder(border); p5.add(jcb3); border = BorderFactory.createTitledBorder(etched, "县"); p5.setBorder(border); JScrollPane jp = new JScrollPane(ta); p3.setLayout(new BorderLayout()); p3.add(jp); border = BorderFactory.createTitledBorder(etched, "Results"); p3.setBorder(border); ActionListener a1 = new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox jcb = (JComboBox) e.getSource(); if (jcb == jcb1) { int no1 = 0; InputStream is; try { is = new FileInputStream("中国各地区代码表.xls"); jxl.Workbook workbook = Workbook.getWorkbook(is); Sheet rs = workbook.getSheet(0); int row = rs.getRows(); for (int i = 0; i < row; i++) { Cell cell = rs.getCell(0, i); Cell cell2 = rs.getCell(1, i); if (cell2.getContents().equals(jcb1.getSelectedItem())) { int cell3 = Integer.parseInt(cell.getContents()); no1 = cell3; break; } else{ } } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } jcb2.removeAllItems(); // 去除所有选项 p2.remove(jcb2); itemList2 = getNo2Lever(no1); jcb2 = new JComboBox(itemList2); jcb2.setEditable(true); p2.add(jcb2); border = BorderFactory.createTitledBorder(etched, "Editable JComboBox"); } } }; jcb2.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { int no2 = 0; InputStream is2; //String[] no1List = null; try { is2 = new FileInputStream("中国各地区代码表.xls"); jxl.Workbook workbook = Workbook.getWorkbook(is2); Sheet rs = workbook.getSheet(0); int row = rs.getRows(); for (int i = 0; i < row; i++) { Cell cell = rs.getCell(0, i); Cell cell2 = rs.getCell(1, i); //int cellsize=Integer.parseInt(cell.getContents()); //String a=jcb.getSelectedItem(); if (cell2.getContents().equals(jcb2.getSelectedItem())) { int cell3 = Integer.parseInt(cell.getContents()); no2 = cell3; } } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } jcb3.removeAllItems(); // 去除所有选项 p5.remove(jcb3); itemList3 = getNo3Lever(no2); jcb3 = new JComboBox(itemList3); jcb3.setEditable(true); p5.add(jcb3); border = BorderFactory.createTitledBorder(etched, "Editable JComboBox"); } } }); jcb1.addActionListener(a1); //jcb2.addActionListener(a2); p4.setLayout(new GridLayout(0, 1)); p4.add(p1); p4.add(p2); p4.add(p5); Container cp = ((JFrame) frame).getContentPane(); cp.setLayout(new GridLayout(0, 1)); cp.add(p4); cp.add(p3); ((JFrame) frame).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } ``` 这是excel文件的存储格式 ![图片说明](https://img-ask.csdn.net/upload/201611/10/1478786496_180362.png) 求好心人解答

Java中如何将下拉菜单中的字符串数据提取出来运用到文本框的数字运算显示中?

![图片说明](https://img-ask.csdn.net/upload/201704/29/1493469364_574330.png) /*上部的功能已经实现了,但是下面除了那个复选框,下拉菜单的值我还是没办法运用到文本框中,ActionEvent只能将字符串直接传给文本框,不能提取实现数字运算,而且方法也不支持return返回值,抛异常我也尝试过,但是接口的的实现上又出了毛病,实在没辙了,求问解决办法,感激不尽 */ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.*; import java.text.ParseException; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JPanel; class layout extends JFrame implements ActionListener { int propor; String help; private JPanel mb1,mb2,mb3; JLabel bq1,bq2,bq3,bq3_5,bq4,bq5,bq6; private JFormattedTextField rmb; private JFormattedTextField coupon; private JFormattedTextField gold; private JFormattedTextField gold_2; private JFormattedTextField exp; private JComboBox pro; JCheckBox link; public layout() { super("坦克世界计算器"); mb1 = new JPanel(); mb2 = new JPanel(); rmb= new JFormattedTextField(new java.text.DecimalFormat("#0")); coupon= new JFormattedTextField(new java.text.DecimalFormat("#0")); gold= new JFormattedTextField(new java.text.DecimalFormat("#0")); gold_2= new JFormattedTextField(new java.text.DecimalFormat("#0")); exp= new JFormattedTextField(new java.text.DecimalFormat("#0")); rmb.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0")))); coupon.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0")))); gold.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0")))); gold_2.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0")))); exp.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0")))); rmb.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { String old = rmb.getText(); JFormattedTextField.AbstractFormatter formatter = rmb.getFormatter(); if (!old.equals("")) { if (formatter != null) { String str = rmb.getText(); try { long page = (Long) formatter.stringToValue(str); coupon.setText(20*page + ""); gold.setText(40*page + ""); } catch (ParseException pe) { rmb.setText("0"); } } } } }); coupon.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { String old = coupon.getText(); JFormattedTextField.AbstractFormatter formatter = coupon.getFormatter(); if (!old.equals("")) { if (formatter != null) { String str = coupon.getText(); try { long page = (Long) formatter.stringToValue(str); rmb.setText(page/20 + ""); gold.setText(page/20 + ""); } catch (ParseException pe) { coupon.setText("0"); } } } } }); gold.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { String old = gold.getText(); JFormattedTextField.AbstractFormatter formatter = gold.getFormatter(); if (!old.equals("")) { if (formatter != null) { String str = gold.getText(); try { long page = (Long) formatter.stringToValue(str); rmb.setText(page/40 + ""); coupon.setText(page/20 + ""); } catch (ParseException pe) { gold.setText("0"); } } } } }); gold_2.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { String old = gold_2.getText(); JFormattedTextField.AbstractFormatter formatter = gold_2.getFormatter(); if (!old.equals("")) { if (formatter != null) { String str = gold_2.getText(); try { long page = (Long) formatter.stringToValue(str); exp.setText(page*propor + ""); } catch (ParseException pe) { gold_2.setText("0"); } } } } }); exp.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { String old = exp.getText(); JFormattedTextField.AbstractFormatter formatter = exp.getFormatter(); if (!old.equals("")) { if (formatter != null) { String str = exp.getText(); try { long page = (Long) formatter.stringToValue(str); gold_2.setText(page/propor + ""); } catch (ParseException pe) { exp.setText("0"); } } } } }); bq1=new JLabel("人民币",SwingConstants.CENTER); bq2=new JLabel("点券",SwingConstants.CENTER); bq3=new JLabel("金币",SwingConstants.CENTER); bq3_5=new JLabel(" "); bq4=new JLabel("金币",SwingConstants.CENTER); bq5=new JLabel("兑换比例",SwingConstants.CENTER); bq6=new JLabel("经验",SwingConstants.CENTER); pro= new JComboBox(); pro.setModel(new DefaultComboBoxModel(new String[] { "1:40", "1:35", "1:25"})); pro.setActionCommand("1");//设置动作命令 pro.addActionListener(this);//设置事件响应器 link=new JCheckBox("是否链接"); mb1.setLayout(new GridLayout(2,3,60,0)); mb2.setLayout(new GridLayout(2,4,10,0)); mb1.add(bq1); mb1.add(bq2); mb1.add(bq3); mb1.add(rmb); mb1.add(coupon); mb1.add(gold); mb2.add(bq3_5);mb2.add(bq4); mb2.add(bq5); mb2.add(bq6); mb2.add(link); mb2.add(gold_2); mb2.add(pro); mb2.add(exp); this.setLayout(new GridLayout(2,1)); this.add(mb1); this.add(mb2); this.setBounds(300, 280, 400, 200);//相当于setLocation+setSize this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e){//当鼠标选择下拉菜单的值时 String comd =e.getActionCommand();//得到动作命令 if(comd.equals("1")){ help=((String) pro.getSelectedItem());//设置文本框的内容 } } } public class calculator { public static void main(String[] args) { new layout().setVisible(true); } } /*一般来说不可以,可以考虑用异常来达到目的,如: class MyException extends Exception { public MyException(String message) { super(message); } } class MyClass { public void doSomething()throws MyException { //do something String mystr="mystr" throw new MyException(mystr); } }*/

java如何用一个JcomboxBox的选择更新另一JcomboBox的item且不触发其点击事件?

现在能够实现用更新另一Jcombox的内容,但是每次更新就会自动触发点击事件,就会报错 Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 现在用的是ItemListener 之前用鼠标点击事件不会报错,但是并不是点击下拉框,选中项后才跳出结果,不是我想要的效果,求解!

帮忙看一下代码,问几个关于Java组合框的问题

import java.awt.*; import javax.swing.*; public class JComboBoxExample extends JFrame { JComboBox comboBox1,comboBox2;//定义两个组合框 String cityNames[]={"北京","上海","重庆","南京","武汉","杭州"};//设置一个字符数组 public JComboBoxExample()//构造方法 { super("组合框");//引用父类的构造方法 Container container=getContentPane();//内容面板容器 container.setLayout(new FlowLayout());//设置窗口布局为流布局 comboBox1=new JComboBox(cityNames);//创建一个具有数组定义列表内容的组合框 comboBox1.setSelectedIndex(3);//设置下拉框的默认选择项为下拉框模型中的第三个变量 comboBox1.setEditable(false);//设置选项不可用 comboBox2=new JComboBox(cityNames); comboBox2.setSelectedItem(cityNames[1]);//选中的项目,是object型,与14行的区别 comboBox2.addItem(new String("长沙")); comboBox2.setEditable(true);//设置选项可用 container.add(comboBox1);//添加组合框 container.add(comboBox2); pack();//调整此窗口的大小,以适合其子组件的首选大小和布局。 setVisible(true); } public static void main(String[] args) { JComboBoxExample jcbe=new JComboBoxExample();//实例化 jcbe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//可关闭 } } 问题1:comboBox1.setEditable(false);这条语句已经设置组合框是不可编辑的,为什么程序运行后可以更改选项,就是可以选择北京、上海等其他的选项。 问题2:comboBox2.addItem(new String("长沙"));网上说addItem方法已经过时,可以用add方法替代,为什么改成comboBox2.add(new String("长沙"));后编译出错,如果要在指定位置加上“长沙”,比如加载第二个位置应该怎么改

【Swing问题】JCombobox 添加了 ItemListener 监听器后,总是不生效,无法监听到选择事件

JCombobox 添加了 ItemListener 监听器后,总是不生效,无法监听到选择事件。 断点调试总算不会触发 itemStateChange 方法,该怎么监听下拉框选择事件呢?

java在jtextarea(文本域)中如何添加按纽

![图片说明](https://img-ask.csdn.net/upload/201508/16/1439716074_952746.png)java在jtextarea(文本域)中如何添加按纽,我做的是一个超市管理系统要求在商品订单后面自动生成一个一个查看详情的按钮。

初学Java,一些事件处理问题,help!!!!!!

# **出现以下错误: # 1、可以改变对话框中字体大小,无法改变字体种类。 # 2、且无法将改变的效果传递到主窗口。 # 3、对话框setModel的值为true,还是能点到主窗口 # 4、可以通过下拉框可改变标签字体大小,但是为什么我改变了字体大小之后,我点那个字体种类的下拉框没有出现下拉列表呢?是不是两个下拉列表有冲突呢? # ** **以下代码分别在4个java文件中** java程序,编写一个JDialog的子类FontDialog,该类为FontFamily对象维护的数据视图,要求FontDialog对象使用下拉列表显示FontFamily对象维护的全部字体的名称,当选择下拉列表中某个字体名称后,FongDialog对象使用标签显示字体的效果。要求对话框提供返回下拉列表所选择的字体名称的方法 编写一个窗口,该窗口有“设置字体”按钮和一个文本区对象,当单击按钮时,弹出一个FontDialog对话框,然后根据用户在下拉列表中选择的字体来显示文本区中的文本。 ``` package test; public class E9_2 { public static void main(String args[]){ window1 window = new window1(); } } ``` ``` package test; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; public class Fontdialog extends JDialog implements ActionListener,ItemListener{ JComboBox name,size; JPanel north,center,south; JButton confirm,cancel; Label label; String allnames[]; int sizes[]; String font_name = "Adobe Arabic"; int font_size = 24; Font f,font; int tag; Fontdialog(){ setModal(true); setBounds(400,400,700,400); setLayout(new BorderLayout()); setTitle("字体对话框"); f = new Font(font_name,1,font_size); name = new JComboBox(); size = new JComboBox(); name.setMaximumRowCount(5); size.setMaximumRowCount(5); createitem(); north = new JPanel(); south = new JPanel(); center = new JPanel(); confirm = new JButton("Yes"); cancel = new JButton("Cancel"); label = new Label("hello,Java程序"); label.setFont(f); north.setLayout(new FlowLayout()); center.setLayout(new BorderLayout()); south.setLayout(new FlowLayout()); north.add(name); north.add(size); center.add(label,BorderLayout.CENTER); south.add(confirm); south.add(cancel); confirm.addActionListener(this); cancel.addActionListener(this); name.addItemListener(this);/*new ItemListener(){ public void itemStateChanged(ItemEvent e) { if(e.getStateChange() == ItemEvent.SELECTED){ font_name = name.getSelectedItem().toString(); font = new Font(font_name,1,font_size); label.setFont(font); label.repaint(); validate(); } } });*/ size.addItemListener(this);/*new ItemListener(){ public void itemStateChanged(ItemEvent e){ if(e.getStateChange() == ItemEvent.SELECTED){ font_size = Integer.parseInt(size.getSelectedItem().toString()); font = new Font(font_name,1,font_size); label.setFont(font); label.repaint(); validate(); } } });*/ name.addActionListener(this); size.addActionListener(this); add(north,BorderLayout.NORTH); add(south,BorderLayout.SOUTH); add(center,BorderLayout.CENTER); } void createitem(){ allnames = new FontFamilyNames().getFontName(); for(int i=0;i<allnames.length;i++){ name.addItem(allnames[i]); } sizes = new int[80]; for(int i=0;i<sizes.length;i++){ sizes[i]=i+1; } for(int i:sizes){ size.addItem(String.valueOf(i)); } } public String get_fontname(){ return font_name; } public int get_fontsize(){ return font_size; } @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == cancel){ this.dispose(); } if(e.getSource()== confirm){ tag = 1; this.setVisible(false); } } public void itemStateChanged(ItemEvent e) { if(e.getSource()==name){ font_name = (String)name.getSelectedItem(); font = new Font(font_name,1,font_size); label.setFont(font); label.repaint(); } if(e.getSource()==size){ font_size = Integer.parseInt(size.getSelectedItem().toString()); font = new Font(font_name,1,font_size); label.setFont(font); label.repaint(); } } } ``` ``` package test; import java.awt.BorderLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextArea; public class window1 extends JFrame implements ActionListener { JTextArea text; JButton button; String fontname; int fontsize; Font font; window1(){ text = new JTextArea(); button.addActionListener(this); init(); setVisible(true); setBounds(200,200,800,400); validate(); } void init(){ Font font = text.getFont(); text.setText("Java 2实用教程(第四版)"); text.setFont(new Font(font.getName(), font.getStyle(), 60)); button = new JButton("设置字体"); setLayout(new BorderLayout()); add(button,BorderLayout.NORTH); add(text,BorderLayout.CENTER); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()== button){ Fontdialog fontdialog = new Fontdialog(); fontdialog.setVisible(true); if(fontdialog.tag == 1){ fontsize = fontdialog.get_fontsize(); fontname = fontdialog.get_fontname(); font = new Font(fontname,1,fontsize); text.setFont(font); text.repaint(); validate(); } } } } ``` ``` package test; import java.awt.GraphicsEnvironment; public class FontFamilyNames { String allFontNames[]; public String [] getFontName() { GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); allFontNames=ge.getAvailableFontFamilyNames(); return allFontNames; } } ```

想问一下如何在日历系统里插入图片

大二萌新做课设风景日历制作系统,图片不会插入,希望向各位大佬求助 ``` import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; public class MyCalendar extends JApplet { //定义星期天到星期六全局变量 public static final String WEEK_SUN = "星期日"; //星期标签名称 public static final String WEEK_MON = "星期一"; public static final String WEEK_TUE = "星期二"; public static final String WEEK_WED = "星期三"; public static final String WEEK_THU = "星期四"; public static final String WEEK_FRI = "星期五"; public static final String WEEK_SAT = "星期六"; public static final Color background = Color.white; //设置背景颜色 public static final Color foreground = Color.black; //设置前景颜色 public static final Color headerBackground = Color.blue; //设置题头星期的背景颜色 public static final Color headerForeground = Color.white; //设置题头星期的前景颜色 public static final Color selectedBackground = Color.green; //设置被选中的日期的背景颜色 public static final Color selectedForeground = Color.white; //设置被选中的日期的前景颜色 private JPanel cPane; //日历面板 private JLabel yearsLabel; //"年份"标签 private JSpinner yearsSpinner; //年调控,年份组合框 private JLabel monthsLabel; //"月份"标签 private JComboBox monthsComboBox;//12月下拉框 private JTable daysTable; //用来显示日期的table,日表格 private AbstractTableModel daysModel;//天单元表格 private Calendar calendar; //日历对象 //函数定义 public MyCalendar() { //构造函数 cPane = (JPanel) getContentPane(); } public void init() { //初始化,对所有的空间进行布局,面板界面函数 cPane.setLayout(new BorderLayout()); //使用border布局管理器 calendar = Calendar.getInstance();//默认方式,以本地的时区和地区来构造Calendar yearsLabel = new JLabel("年份: ");//设置年份标签显示 yearsSpinner = new JSpinner();//构造年份spinner组合框 yearsSpinner.setEditor(new JSpinner.NumberEditor(yearsSpinner, "0000")); yearsSpinner.setValue(new Integer(calendar.get(Calendar.YEAR))); //增加监听 监听年份的改变 yearsSpinner.addChangeListener(new ChangeListener() {//注册该组合框的事件监听器 public void stateChanged(ChangeEvent changeEvent) { int day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.YEAR, ((Integer) yearsSpinner.getValue()).intValue()); int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, day > maxDay ? maxDay : day); updateView();//更新显示 } }); JPanel yearMonthPanel = new JPanel();//定义年月面板 cPane.add(yearMonthPanel, BorderLayout.NORTH);//添加年月面板到日历面板的南面(最上方) yearMonthPanel.setLayout(new BorderLayout());//边布局模式 yearMonthPanel.add(new JPanel(), BorderLayout.CENTER); JPanel yearPanel = new JPanel();//构建年份面板 yearMonthPanel.add(yearPanel, BorderLayout.WEST);//年份面板添加到年月面板西部(左边) yearPanel.setLayout(new BorderLayout());//设置年份面板为边布局并添加年份标签和组合框 yearPanel.add(yearsLabel, BorderLayout.WEST); yearPanel.add(yearsSpinner, BorderLayout.CENTER); monthsLabel = new JLabel("月份: "); //设置月份标签显示 monthsComboBox = new JComboBox(); //向月份下拉框中增加内容 for (int i = 1; i <= 12; i++) { //构造下拉框的12个月份 monthsComboBox.addItem(new Integer(i)); } monthsComboBox.setSelectedIndex(calendar.get(Calendar.MONTH));//下拉框当前月份为选中状态 monthsComboBox.addActionListener(new ActionListener() { //注册月份下拉框的事件监听器 public void actionPerformed(ActionEvent actionEvent) { int day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.MONTH, monthsComboBox.getSelectedIndex()); int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, day > maxDay ? maxDay : day); updateView();//更新面板显示 } }); JPanel monthPanel = new JPanel();//定义月份面板 yearMonthPanel.add(monthPanel, BorderLayout.EAST);//添加月份面板到年月面板的东面(右面) monthPanel.setLayout(new BorderLayout());//月份面板设为边布局方式 monthPanel.add(monthsLabel, BorderLayout.WEST);//添加月份名称标签到月份面板西面(左面) monthPanel.add(monthsComboBox, BorderLayout.CENTER);//添加月份下拉框到月份面板中间 daysModel = new AbstractTableModel() { //设置7行7列 public int getRowCount() { //设置7行 return 7; } public int getColumnCount() { //设置列7 return 7; } public Object getValueAt(int row, int column) { if (row == 0) { //第一行显示星期 return getHeader(column); } row--; Calendar calendar = (Calendar) MyCalendar.this.calendar.clone(); calendar.set(Calendar.DAY_OF_MONTH, 1); int dayCount = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); int moreDayCount = calendar.get(Calendar.DAY_OF_WEEK) - 1; int index = row * 7 + column; int dayIndex = index - moreDayCount + 1; if (index < moreDayCount || dayIndex > dayCount) { return null; } else { return new Integer(dayIndex); } } }; daysTable = new CalendarTable(daysModel, calendar);//构造日表格 //设置每个call可以被选中 daysTable.setCellSelectionEnabled(true);//设置表格单元格可选择 daysTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); daysTable.setDefaultRenderer(daysTable.getColumnClass(0), new TableCellRenderer() { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { String text = (value == null) ? "" : value.toString(); JLabel cell = new JLabel(text); cell.setOpaque(true);//绘制边界内的所有像素 if (row == 0) {//第一行显示星期,设置为星期的前景色和背景色 cell.setForeground(headerForeground); cell.setBackground(headerBackground); } else { if (isSelected) {//日期单元格如果选中,则设置为日期选中的前、背景色 cell.setForeground(selectedForeground); cell.setBackground(selectedBackground); } else { //设置日期单元格的普通前、背景色 cell.setForeground(foreground); cell.setBackground(background); } } return cell; } }); updateView(); cPane.add(daysTable, BorderLayout.CENTER);//添加日面板到日历面板中间 } public static String getHeader(int index) {//设置第一行星期的显示 switch (index) { case 0: return WEEK_SUN; case 1: return WEEK_MON; case 2: return WEEK_TUE; case 3: return WEEK_WED; case 4: return WEEK_THU; case 5: return WEEK_FRI; case 6: return WEEK_SAT; default: return null; } } public void updateView() {//更新面板显示方法 daysModel.fireTableDataChanged(); daysTable.setRowSelectionInterval(calendar.get(Calendar.WEEK_OF_MONTH), calendar.get(Calendar.WEEK_OF_MONTH)); daysTable.setColumnSelectionInterval(calendar.get(Calendar.DAY_OF_WEEK) - 1, calendar.get(Calendar.DAY_OF_WEEK) - 1); } //设置日历的table public static class CalendarTable extends JTable {//表格类 private Calendar calendar; public CalendarTable(TableModel model, Calendar calendar) {//构造方法 super(model); this.calendar = calendar; } public void changeSelection(int row, int column, boolean toggle, boolean extend) {//选择表格单元格时 super.changeSelection(row, column, toggle, extend); if (row == 0) {//选择为第一行(星期)时不改变单元格 return; } Object obj = getValueAt(row, column); if (obj != null) { calendar.set(Calendar.DAY_OF_MONTH, ((Integer)obj).intValue()); } } } //让applet作为一个可执行的程序来运行 public static void main(String[] args) { JFrame frame = new JFrame("Calendar Application"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MyCalendar myCalendar = new MyCalendar(); myCalendar.init(); frame.getContentPane().add(myCalendar); frame.setSize(400, 250); frame.show(); } } ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

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

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

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

讲一讲什么是Java内存模型 Java内存模型虽说是一个老生常谈的问题 ,也是大厂面试中绕不过的,甚至初级面试也会问到。但是真正要理解起来,还是相当困难,主要这个东西看不见,摸不着。 这是一个比较开放的题目,面试官主要想考察的是对Java内存模型的了解到了什么程度了,然后根据回答进行进一步的提问 下面,我们就这个问题的回答列一下我们的思路 具体的思路如下: 说一说Java内存模型的缘由 简略辨析...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

立即提问
相关内容推荐