正文
java代码顶部标题 java设置标题
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
java如何实现标题栏
创建窗口要使用Swing组件中的JFrame对象,JFrame对象有一个方法,叫做setTitle(),通过它可以设置窗口的标题。
setTitle(String title)方法只有一个参数,字符串类型的窗口标题。
程序名称:
setJFrameTitle.java
程序内容:
public class frmMain extends javax.swing.JFrame {
public frmMain() {
this.setTile("I love you!"); //初始化对象的时候设置窗口标题
}
}
public class setJFrameTitle {
public static void main(String[] args) {
frmMain s=new frmMain();
s.setTitle("New title"); //也可以这样变更窗口标题
s.setVisible(true);
}
}
java编的窗口最上方的标题栏高度是多少?
是的,最外面的window的大小是包括标题栏在内的,而且标题栏是native修饰的,高度不定。(windows下和linux下不同,windows xp和2000下都不同)
计算内置子组件的位置不要用window作为相对坐标的参考系,用contentpane,就是Container.getContentPane()得到的那个,对于最外层window来说,这个就是剥掉外层修饰可以放子组件的最大范围了,就是最高不能高过contentpane的y,最左左不过contentpane的x。
补充:
由于对于一定的native的修饰,比如标题栏的高度之类是固定的,所以最外层window的size定下来后,contentpane理论上也是固定下来的。但是contentpane其实作为window的一个子组件,其size的计算不是在构造时候完成的,也就是下面这段code里得到的contentpane的size还是(0,0)
JFrame aFrame = new JFrame();
aFrame.setSize(100, 100);
Container contentPane = aFrame.getContentPane();
两种解决方法:
1 最常用的方法布局时利用各种现成的LayoutManager,而不推荐自己去从头写代码来计算内部组件的大小。(SUN的一些现成的一些LayoutManager已经基本可以满足要求,还有一些第三方的LayoutManager可以做进一步补充,自己也可以在其基础上重载定制,但实用中几乎没有必要)。这样只要告诉LayoutManager各个内部组件相对的位置和占有的大小比例关系即可。
2 非要自己来计算确切的位置大小也不是不可以,但除非所有组件的大小都由你来确定,此外一般不在构造的时候确定,原因就在于一开始的问题,window大小确定后,默认布局计算算法是lazy的,这是contentPane的大小还是0,直到必须计算的时候才确定。所以要确保自己写的计算位置和大小的代码也要在parent的布局计算完成后才能调用。比如计算contentPane里面子组件位置代码可以让其被contentPane的doLayout()回调。当然你一般不想重载contentPane,那么就在其里面直接套一层JPanel好了,重载该JPanel的doLayout(). 这种方法不推荐,不如把算法放在LayoutManager更能使得逻辑耦合度降低。
针对补充的再补充:方法一就是用LayoutManager,方法二就是对某个container整个跳过或在LayoutManager调整之后再进行附加调整,通过重载Container.doLayout()在该方法内直接通过计算setBounds。
关于"针对补充的再补充"的再三补充:重载JDK Container里的doLayout(),在该函数内,可以完全用自己的计算代码,也可以调用过super之后再用自己的算法调整,super就是调用默认LayoutManager(设成null就不动作)。所以super之后(不能在之前)的定制调整会是能够覆盖默认布局效果的。在Container里调整的是子componet。
不明白为何不用方法一中逻辑清晰的方法,非要折腾这个呢?
JAVA 菜单栏 标题栏
这位伙计
你最终想要一个什么样的显示效果
详细描述一下
我运行了你的代码 菜单栏显示完全正常呀
无非是响应事件没添加
viewPager+fragment 实现顶部标题栏 应该怎么实现?
ViewPager+Fragment要实现顶部标题栏,需要以下几个步骤:
1.首先在activity_main.xml布局文件中加入ViewPager组件
android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
2.既然要实现左右java代码顶部标题的页面滑动,肯定要往ViewPager中添加一些Fragment,这里创建java代码顶部标题了3个Fragmentjava代码顶部标题的布局文件
这3个布局文件非常简单,跟Activity的布局用法一模一样,代码就不贴出来了,直接看Activity的java代码
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.ViewGroup;
public class MainActivity extends FragmentActivity {
private ViewPager m_vp;
private fragment1 mfragment1;
private fragment2 mfragment2;
private fragment3 mfragment3;
private ArrayListFragment fragmentList;
ArrayListString titleList = new ArrayListString();
private PagerTabStrip pagerTabStrip;
private PagerTitleStrip pagerTitleStrip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
m_vp = (ViewPager)findViewById(R.id.viewpager);
pagerTabStrip=(PagerTabStrip) findViewById(R.id.pagertab);
//设置下划线的颜色
pagerTabStrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_green_dark));
//设置背景的颜色
pagerTabStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark));
// pagerTitleStrip=(PagerTitleStrip) findViewById(R.id.pagertab);
// //设置背景的颜色 pagerTitleStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark));
mfragment1 = new fragment1();
mfragment2 = new fragment2();
mfragment3 = new fragment3();
fragmentList = new ArrayListFragment();
fragmentList.add(mfragment1);
fragmentList.add(mfragment2);
fragmentList.add(mfragment3);
titleList.add("第一页 ");
titleList.add("第二页");
titleList.add("第三页 ");
m_vp.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager()));
}
public class MyViewPagerAdapter extends FragmentPagerAdapter{
public MyViewPagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
return fragmentList.get(arg0);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titleList.get(position);
}
}
}
3.需要设置一个Adapter,上面代码是继承了FragmentPagerAdapter,在里面重写了3个方法.往这个Viewpager中添加了要显示的3个页面fragment和对应的3个标题
4.Fragment中有个onCreateView方法,返回的是这个fragment的视图View,其他的生命周期方法都跟Activity一样,还要注意的是在回复View前一定要加入代码
5.运行程序运行效果:
关于Viewpager和Fragment还有很多其他很有用的方法,建议查看官网API详细了解
java中设置标签标题的方法是
在Java代码设置Activity标题 2019-10-06 15:49:37 在对应的xxxActivity.java这种调用setTitle("Title")方法 自定义Java窗口标题栏菜单 千次阅读2021-03-09 03:4...
java代码顶部标题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java设置标题、java代码顶部标题的信息别忘了在本站进行查找喔。