仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 542|回复: 9
打印 上一主题 下一主题

[学习教程] 了解下JAVA的JComboBox的下拉框向上

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:20:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。
比来进修SWING,改动JComboBox的的显现体例,这里是将JComboBox的下拉框向上显现,以下为具体代码:
package kissJava.JComboBox;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.plaf.ComboBoxUI;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicArrowButton;
import javax.swing.plaf.basic.BasicComboBoxUI;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
public class PopupComboSample extends JFrame...{
  String labels[] = ...{ "Chardonnay", "Sauvignon", "Riesling", "Cabernet",
          "Zinfandel", "Merlot", "Pinot Noir", "Sauvignon Blanc",
          "Syrah", "Gewurztraminer" };
  JComboBox jcb = null;
 public PopupComboSample()...{
  this.setTitle("下拉框向上");
   this.setLayout(null);
    jcb = new JComboBox(labels);
    //setUI.......
    jcb.setUI((ComboBoxUI) MyComboBoxUI.createUI(jcb));
    jcb.setBounds(50, 150, 200, 20);
    this.add(jcb, null);
    setSize(300, 300);
    setVisible(true);
 }

  public static void main(String args[]) ...{

     new PopupComboSample();

  }
  static class MyComboBoxUI extends BasicComboBoxUI ...{
   int newsBarTitleWidth = 0;

    public static ComponentUI createUI(JComponent c) ...{
      return new MyComboBoxUI();
    }
    //改动箭头的偏向
    protected JButton createArrowButton() ...{
      JButton button = new BasicArrowButton(BasicArrowButton.NORTH);
      return button;
    }
    //改动comboBox的弹出偏向
    protected ComboPopup createPopup() ...{
     BasicComboPopup popup = new BasicComboPopup(comboBox)...{
      public void show() ...{
         //巨细按必要变动
          Dimension popupSize = new Dimension(200 - newsBarTitleWidth - 5, 17 * 5);
          scroller.setMaximumSize(popupSize);
          scroller.setPreferredSize(popupSize);
          scroller.setMinimumSize(popupSize);
          show(comboBox, newsBarTitleWidth, -17 * 5);//getPopupHeightForRowCount(10));
    }
  };
  popup.getAccessibleContext().setAccessibleParent(comboBox);
  return popup;
 }
  }
}
显现效果为:

不外看图的效果jcb的输出框没有线条显现,看来得再改改,进修中。

在性能方面,在windows平台下,.net网页编程可能是占强项,要是把.net网页编程放在sun开发的操作系统上去运行呢?根本就运行不了,.net网页编程对其它操作系统的支持也很弱,性能也可能比不上java。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-18 14:40:12 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
小女巫 该用户已被删除
板凳
发表于 2015-1-22 07:01:16 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
山那边是海 该用户已被删除
地板
发表于 2015-1-30 23:32:23 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
乐观 该用户已被删除
5#
发表于 2015-2-6 15:39:56 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
活着的死人 该用户已被删除
6#
发表于 2015-2-16 22:10:46 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
透明 该用户已被删除
7#
发表于 2015-3-5 10:53:27 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
只想知道 该用户已被删除
8#
发表于 2015-3-12 04:21:49 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
蒙在股里 该用户已被删除
9#
发表于 2015-3-13 05:09:56 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
不帅 该用户已被删除
10#
发表于 2015-3-20 13:34:02 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 05:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表