Examples
To adapt the component to the style of the application it is often necessary to change its colors.
Copy package com . totalcross ;
import totalcross . ui . gfx . Color ;
import totalcross . sys . Settings ;
import totalcross . ui . Button ;
import totalcross . ui . MainWindow ;
public class HelloWorld extends MainWindow {
private Button btnRed;
private Button btnGreen;
private Button btnBlue;
public HelloWorld (){
setUIStyle( Settings . MATERIAL_UI ) ;
}
@ Override
public void initUI (){
btnRed = new Button( "Red" ) ;
btnRed . setBackForeColors ( Color . RED , Color . WHITE );
add(btnRed , CENTER , CENTER ) ;
btnGreen = new Button( "Green" ) ;
btnGreen . setBackForeColors ( Color . GREEN , Color . WHITE );
add(btnGreen , CENTER , AFTER ) ;
btnBlue = new Button( "Blue" ) ;
btnBlue . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnBlue , CENTER , AFTER) ;
}
}
Full Button
Make the button the width of the screen.
Copy package com . totalcross ;
import totalcross . ui . gfx . Color ;
import totalcross . sys . Settings ;
import totalcross . ui . Button ;
import totalcross . ui . MainWindow ;
public class HelloWorld extends MainWindow {
private Button btnFull;
public HelloWorld (){
setUIStyle( Settings . MATERIAL_UI ) ;
}
@ Override
public void initUI () {
btnFull = new Button( "Full Button" ) ;
btnFull . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnFull , CENTER , CENTER , PARENTSIZE , PREFERRED) ;
}
}
Button shapes
Modify the button edges.
Copy package com . totalcross ;
import totalcross . ui . gfx . Color ;
import totalcross . sys . Settings ;
import totalcross . ui . Button ;
import totalcross . ui . MainWindow ;
public class HelloWorld extends MainWindow {
private Button btnRounded;
private Button btnBorderless;
private Button btnOutlined;
public HelloWorld (){
setUIStyle( Settings . MATERIAL_UI ) ;
}
@ Override
public void initUI (){
btnRounded = new Button( "Rounded Corners Button" , Button . BORDER_ROUND ) ;
btnRounded . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnRounded , CENTER , CENTER ) ;
btnBorderless = new Button( "Borderless Button" , Button . BORDER_NONE ) ;
btnBorderless . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnBorderless , CENTER , AFTER + 5 ) ;
btnOutlined = new Button( "Outlined Button" , Button . BORDER_OUTLINED ) ;
btnOutlined . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnOutlined , CENTER , AFTER + 5 ) ;
}
}
Sizes
Change the buttons sizes.
Copy package com . totalcross ;
import totalcross . ui . gfx . Color ;
import totalcross . sys . Settings ;
import totalcross . ui . Button ;
import totalcross . ui . MainWindow ;
public class HelloWorld extends MainWindow {
private Button btnLarge;
private Button btnDefaultSize;
private Button btnSmall;
public HelloWorld () {
setUIStyle( Settings . MATERIAL_UI ) ;
}
@ Override
public void initUI () {
btnLarge = new Button( "Large" , Button . BORDER_ROUND ) ;
btnLarge . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnLarge, LEFT+20, CENTER,btnLarge.getPreferredWidth() <= 48 ? DP + 96: btnLarge.getPreferredWidth(),DP + 54);
btnDefaultSize = new Button( "Default" , Button . BORDER_ROUND ) ;
btnDefaultSize . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnDefaultSize , AFTER + 5 , CENTER_OF) ;
btnSmall = new Button( "Small" , Button . BORDER_ROUND ) ;
btnSmall . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnSmall, AFTER+5, CENTER_OF, btnSmall.getPreferredWidth() <= 24? DP + 48 : btnSmall.getPreferredWidth(), DP + 27,btnDefaultSize);
}
}
Button image
Add an image to the button.
Copy package com . totalcross ;
import totalcross . ui . gfx . Color ;
import totalcross . ui . image . Image ;
import totalcross . sys . Settings ;
import totalcross . ui . Button ;
import totalcross . ui . MainWindow ;
public class HelloWorld extends MainWindow {
private Button btnLeftImage;
public HelloWorld () {
setUIStyle( Settings . MATERIAL_UI ) ;
}
@ Override
public void initUI () {
try {
Image img = new Image( "images/bt_info.png" ) ;
btnLeftImage = new Button( "Left Image" , img . scaledBy( 0.2 , 0.2 ) , RIGHT , 10 ) ;
btnLeftImage . setBackForeColors ( Color . BLUE , Color . WHITE );
add(btnLeftImage , CENTER , AFTER + 25 ) ;
} catch ( Exception exception) {
exception . printStackTrace ();
}
}
}
Do not forget to create a folder called "images " inside /src/main/resources and save the bt_info.png image inside it [images].
Events
Handling events with addPressListener()
:
Copy package com . totalcross ;
import totalcross . ui . gfx . Color ;
import totalcross . sys . Settings ;
import totalcross . ui . Button ;
import totalcross . ui . MainWindow ;
public class HelloWorld extends MainWindow {
private Button btnRed;
private Button btnGreen;
private Button btnBlue;
public HelloWorld (){
setUIStyle( Settings . MATERIAL_UI ) ;
}
@ Override
public void initUI (){
btn = new Button( "Do something" ) ;
btn . setBackForeColors ( Color . RED , Color . WHITE );
btn . addPressListener ((event) -> {
// DO SOMETHING
})
add(btn , CENTER , CENTER ) ;
}
}
Behind the Class
Attributes
Methods
References