
正文
java组件代码 javagui组件
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA小白发问:我想实现用键盘控制JLabel组件的移动,请帮我看看这段代码有什么问题?
你这只有坐标值改变啊,没有更新画布,在herox=herox-10下面加上一句jhero.setX(herox);
相关问答
Q1: 什么是JAVA组件?
例如:javabean是一个类java组件代码,但是如果您的类想要成为beajavabeanjava组件代码,您必须向类中的变量(比如XXX)添加两个内部函数getXxx()和setXxx(),并且您必须在类中有一个无参数的构造函数。这些就是javabean,组件之间必须有一个相互使用的规范。
Java实际上是所有的类。组件是一个抽象,是符合规范的类的集合。要知道它可以提供某些功能。以J2EE为例,servlet,jsp,javabean,ejb都是组件。
但在使用上,都会分阶级,有自己的特殊规则。
扩展资料:
首先,轻量级组件是用Java代码绘制的,因此具有平台可移植性,重量级组件是由调用系统的函数(如主窗体)绘制的组件,一般来说,尽量使用轻量级组件,这有利于可移植性。
java中的大多数组件。swing包是轻量级的,而java包则是轻量级的,awt很重。
Swing是用100%纯Java实现的,而Swing组件是用Java实现的轻量级组件,没有本地代码独立于操作系统支持之外,这是拥有AWT组件的最大组。当AWT组件通过特定的平台时
对等类(Peer)实现,因此Swing比AWT组件更实用。Swing不能回答相同的问题平台上的一致性能和提供本地窗口系统不支持的附加功能的能力。
重量级组件:特定平台必须有相应的组件。
轻量级组件:在一个虚拟的画布上绘制组件(swing非常慢),所有的轻量级组件应该“最终”属于重量级组件(jframe、jdialog)。
因为它是这样绘制的,所以可以在各种平台上实现一致的性能。同样,如果混合重量级组件和轻量级组件容易在重叠上引起冲突。
Q2: java布局组件代码编译不过
给你整理了一下代码
import java.awt.*;
import javax.swing.*;
public class Bj_3 extends JFrame {
// 定义组件
JPanel jp1, jp2;
int size = 6;
JButton jb[] = new JButton[size];
// 构造
public Bj_3() {
// 创建组件
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
for (int i = 0; i size ; i++) {
jb[i] = new JButton(String.valueOf(i));
}
// 添加组件
jp1.add(jb[0]);
jp1.add(jb[1]);
jp2.add(jb[2]);
jp2.add(jb[3]);
jp2.add(jb[4]);
// 添加panel到JFRAME
this.add(jp1, BorderLayout.NORTH);
this.add(jp2, BorderLayout.SOUTH);
this.add(jb[5], BorderLayout.CENTER);
// 窗体设置
this.setTitle("面板布局器");
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(200, 200);
// 显示
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Bj_3 bj_3 = new Bj_3();
}
}
Q3: java Swing 编写需要用的一些常用组件,求代码~~
这个看你设计成什么样子,都有不同的需求,代码只能参考一下。
package com.hengjun.hjropcs.commons;
import java.awt.Dimension;
import java.awt.Font;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.UIManager;
import com.hengjun.commons.lang.Func1;
import com.hengjun.commons.lang.HJCollectionUtils;
import com.hengjun.commons.swing.DimensionUtility;
import com.hengjun.commons.swing.HJComboBoxUtils;
import com.hengjun.commons.swing.combobox.decorators.SpellComboBoxDecorator;
import com.hengjun.commons.ui.DisplayData;
import com.hengjun.framework.enums.EDataStatus;
import com.hengjun.framework.framework_core.model.BaseModel;
import com.hengjun.framework.framework_core.support.constant.MessageConstants;
import com.hengjun.hjrop.model.dbmodel.RopRegion;
import com.hengjun.hjrop.model.dbmodel.RopStation;
import com.hengjun.hjropcs.cache.CacheRegion;
import com.hengjun.hjropcs.commons.hjcombobox.Builder;
import com.hengjun.hjropcs.commons.hjcombobox.RegionComboBox.CBuilder;
import com.hengjun.hjropcs.core.ui.FullSizeComboBoxUI;
public class HJCommonCombox extends JComboBox{
//批量修改用,=1 带拼音搜索,批量修改时第一项插入一个new 对象,而不是CommonObject中的对象;
//因为点击+-号时可以直接更改index=0项的text即可,效率高
public final static int MULTI_MODIFY_WITH_SPELL=1;
//批量修改用,=2 不带拼音搜索
public final static int MULTI_MODIFY_WITHOUT_SPELL=2;
//active数据,不带有第一行的empty
public final static int ACTIVE_RECORDS_WITH_SPELL_WITHOUT_EMPTY=3;
//默认的下拉框长度
// public static final int COMBOBOX_MAX_WIDTH = 170;
private boolean isSupportSpell=false;
//产生一个新的数据model,第一条数据为new DisplayData(null,"","")
protected List produceNewModelData(List activeViewForMulti){
if(activeViewForMulti==null || activeViewForMulti.size()==0){
return activeViewForMulti;
}
List ret=new ArrayList(activeViewForMulti);
ret.set(0, new DisplayData(null,"",""));
return ret;
}
public boolean isSupportSpell() {
return isSupportSpell;
}
public void setSRTDimension(){
this.setMaximumSize(DimensionUtility.SRTDimension);
this.setMinimumSize(DimensionUtility.SRTDimension);
}
public void setSRTDimension(Dimension dimension){
this.setMaximumSize(dimension);
this.setMinimumSize(dimension);
}
public void setSupportSpell(boolean isSupportSpell) {
this.isSupportSpell = isSupportSpell;
}
/**
* 默认创建的是含有所有active数据的下拉框
*/
public HJCommonCombox(){
this.setMaximumSize(DimensionUtility.componentDimension);
this.setMinimumSize(DimensionUtility.componentDimension);
}
public HJCommonCombox(Builder builder){
//默认是allActive数据
List model=getActiveModelData();
//如果是批量修改用,基于active数据
if(builder.isMultiModify()){
model=getActiveMultiModelData();
model= produceNewModelData(model);
}
//如果需要所有数据
if(builder.isAll()){
model=getAllModelData();//getActiveModelData;
}
//如果不需要第一项empty值
if(!builder.isWithEmpty()){
HJComboBoxUtils.showList(this, model,1);
}
if(builder.isWithEmpty()){
HJComboBoxUtils.showList(this, model);
}
//如果需要拼音搜索
if(builder.isSupportSpell()){
SpellComboBoxDecorator scb = new SpellComboBoxDecorator(this);
scb.initialize();
}
this.setMaximumSize(DimensionUtility.componentDimension);
this.setMinimumSize(DimensionUtility.componentDimension);
}
//根据filter名称和builder,返回List
public ListDisplayData getListData(String filter,Builder builder){
List model=getFilterActiveModelData(filter);
//如果是批量修改用,基于active数据
if(builder.isMultiModify()){
model=getFilterActiveMultiModelData(filter);
model= produceNewModelData(model);
}
//如果需要所有数据
if(builder.isAll()){
model=getFilterAllModelData(filter);//getActiveModelData;
}
//如果不需要第一项empty值
if(!builder.isWithEmpty()){
if (!HJCollectionUtils.isEmpty(model)){
model=model.subList(1,model.size());
}
}else{//需要则直接返回
// HJComboBoxUtils.showList(this, model);
}
return model;
}
public HJCommonCombox(String filter,Builder builder){
//默认是allActive数据
List model=getFilterActiveModelData(filter);
//如果是批量修改用,基于active数据
if(builder.isMultiModify()){
model=getFilterActiveMultiModelData(filter);
model= produceNewModelData(model);
}
//如果需要所有数据
if(builder.isAll()){
model=getFilterAllModelData(filter);//getActiveModelData;
}
//如果不需要第一项empty值
if(!builder.isWithEmpty()){
HJComboBoxUtils.showList(this, model,1);
}else{
HJComboBoxUtils.showList(this, model);
}
//如果需要拼音搜索
if(builder.isSupportSpell()){
SpellComboBoxDecorator scb = new SpellComboBoxDecorator(this);
scb.initialize();
}
this.setMaximumSize(DimensionUtility.componentDimension);
this.setMinimumSize(DimensionUtility.componentDimension);
}
/**
* 当内容比较长的时候,做得处理
*/
public void updateUI() {
setUI(new FullSizeComboBoxUI());
}
/**
* @param isSupportSpell is true;表示支持拼音搜索
*/
public HJCommonCombox(boolean isSupportSpell){
this();
if(isSupportSpell){
this.isSupportSpell=isSupportSpell;
SpellComboBoxDecorator scb = new SpellComboBoxDecorator(this);
scb.initialize();
}
}
/**@deprecated 请使用 HJCommonCombox(Builder builder)模式
* @param isSupportSpell is true;表示支持拼音搜索
*/
public HJCommonCombox(boolean isSupportSpell,boolean isAll){
this(isSupportSpell);
}
public void setSelectedItem(Object o){
ComboBoxModel cm=getModel();
HJComboBoxUtils.setSelectedItem(o, cm);
}
/**
* 全部置空,在批量修改中使用
*/
public static void allSetEmpty(HJCommonCombox cmbBox){
if(cmbBox.getModel().getSize()0){
cmbBox.setSelectedIndex(0);
cmbBox.setEnabled(false);
DisplayData dd=(DisplayData) cmbBox.getItemAt(0);
dd.setText(MessageConstants.ALL_SET_EMPTY);
JTextField editor = (JTextField)cmbBox.getEditor().getEditorComponent();
editor.setText(MessageConstants.ALL_SET_EMPTY);
}
}
public void setSelectedIndex(int anIndex) {
if(getModel().getSize()0){
super.setSelectedIndex(anIndex);
}
}
/**
* 全部置空复位
* @param cmbBox
*/
public static void allSetEmptyReset(HJCommonCombox cmbBox){
if(cmbBox.getModel().getSize()0){
cmbBox.setSelectedIndex(0);
cmbBox.setEnabled(true);
DisplayData dd=(DisplayData) cmbBox.getItemAt(0);
dd.setText("");
// cmbBox.rep
JTextField editor = (JTextField)cmbBox.getEditor().getEditorComponent();
editor.setText("");
}
}
/**
*
* @param collection
* @param converter
* @param allRecods 返回所有的对象
* @param allActiveRecords 返回所有状态为active的对象
* @return 不需要返回值,修改传入的2个list即可
*/
public static T, TResult void select(CollectionT collection, Func1T, TResult converter,List allRecods,List allActiveRecords) {
BaseModel temp=null;
for (T t : collection) {
temp=(BaseModel)t;
if(temp!=null){
if(EDataStatus.VALID.getKey()==temp.getDataStatus()){
allActiveRecords.add(converter.func(t));
}
allRecods.add(converter.func(t));
}
}
}
public static T, TResult void select(CollectionT collection, Func1T, TResult converter,List inputRecods) {
BaseModel temp=null;
for (T t : collection) {
temp=(BaseModel)t;
if(temp!=null){
inputRecods.add(converter.func(t));
}
}
}
public static T, TResult void select(CollectionT collection, Func1T, TResult converter,List allRecods,List allActiveRecords,List allActiveRecordsWithMulti) {
BaseModel temp=null;
Object a=null;
for (T t : collection) {
temp=(BaseModel)t;
if(temp!=null){
a=converter.func(t);
if(EDataStatus.VALID.getKey()==temp.getDataStatus()){
allActiveRecords.add(a);
allActiveRecordsWithMulti.add(a);
}
allRecods.add(a);
}
}
}
protected ListDisplayData getActiveModelData(){
return null;
}
protected ListDisplayData getAllModelData(){
return null;
}
protected ListDisplayData getActiveMultiModelData(){
return null;
}
protected ListDisplayData getFilterActiveModelData(String filter){
return null;
}
protected ListDisplayData getFilterAllModelData(String filter){
return null;
}
protected ListDisplayData getFilterActiveMultiModelData(String filter){
return null;
}
}
java组件代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javagui组件、java组件代码的信息别忘了在本站进行查找喔。






