How can I make JSpinner value remain unchange
Hi,
I've posted this message on Programming forum before, and many friends recommend me better to post in Swing forum.
I have a question on how to make the value remain unchange after some confirmations? In my program, I have to ask whether user want to change the value,
if yes, something other settings will be reset.
if no, I hope the vaule in Jspinner remains unchange.
I tried to use the state stateChanged event to detect any value change. and set back the previousValue, however, it comes into the event many times...
pbrockway2 has suggested me to add a flag inside stateChanged to prevent it comes into the event, however, this method not so work all times. And the value also will keep being increased or decreased.
Can some of you give a hints, the code below :
jSpinner_row.addChangeListener(new ChangeListener()
public void stateChanged(ChangeEvent event)
if(CheckFlag)
int result = JOptionPane.showConfirmDialog(ParentFrame,
"Are you sure you want to row setting ?",
"Setup", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (result == JOptionPane.NO_OPTION)
CheckFlag = false;
jSpinner_row.setValue(jSpinner_row.getPreviousValue());
CheckFlag = true;
return;
else
// do reset of controls and re - construct panel
CheckFlag = true;
});
this might (?) be one way, but, as is, only works with SpinnerNumberModel
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Testing
JSpinner spinner;
final int MIN = 0, MAX = 100;
public void buildGUI()
JPanel p = new JPanel();
spinner = new JSpinner(new SpinnerNumberModel(MIN,MIN,MAX,1));
((JSpinner.DefaultEditor)spinner.getEditor()).getTextField().setEditable(false);
spinner.setUI(new ChangeVerifierUI());
p.add(spinner);
JFrame f = new JFrame();
f.getContentPane().add(p);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
class ChangeVerifierUI extends javax.swing.plaf.basic.BasicSpinnerUI
protected Component createNextButton()
JButton nextButton = (JButton)super.createNextButton();
nextButton.removeMouseListener(nextButton.getMouseListeners()[0]);
nextButton.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent me){
if(((Integer)spinner.getValue()).intValue() < MAX) checkChange(+1);
return nextButton;
protected Component createPreviousButton()
JButton previousButton = (JButton)super.createPreviousButton();
previousButton.removeMouseListener(previousButton.getMouseListeners()[0]);
previousButton.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent me){
if(((Integer)spinner.getValue()).intValue() > MIN) checkChange(-1);
return previousButton;
public void checkChange(int direction)
int result = JOptionPane.showConfirmDialog(null,"Are you sure you want to row setting ?",
"Setup", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if (result == JOptionPane.YES_OPTION) spinner.setValue(
((Integer)spinner.getValue()).intValue()+
(((Number)((SpinnerNumberModel)spinner.getModel()).getStepSize()).intValue())*direction);
public static void main(String[] args)
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Testing().buildGUI();
}
Similar Messages
-
How can we make the value of pricing condition flow to the sales invoice?
At an intercompany process, we have the condition type PBXX at the purchase order. On the other hand, at the sales invoice (which is created by VF01) of the sames process, there exists the condition type PR00. The calue of the condition types PBXX and PR00 should be the same. How can we make the value of PBXX flow to the sales invoice? I can create new pricing procedures if needed. I can change the types of the pricing conditions (such as PBXX or PR00) included at the procedures (by customization) if needed. All I need is to have the value of the price at the purchase order the same with the sales invoice at the same process. The transaction codes used at this process are:
ME21N - Create purchase order
VL10D - Create delivery
VF01 - Create invoice
Thanks in advance for the answers...Yes, i verified that the config item id in the pricing table and the cz_config_items table are the same (once we save the configuration).
The reason we have to do this is coz I have to pass additional parameters, which are item speciific (captured at confiugurator runtime session) while making a call to the pricing engine.
Hence, we are capturing some additional pricing parameters (during a runtime configurator session) in a custom table, and plan to link those to the corresponding items in the 'CZ_Pricing_Structure' table thru the config_item_id. -
How can I make my users password unchangable
Hi Expert,
i faced a problme currently. we have a training system which a lot of people have full authorization.
my users password have been changed several times by someone else. so i do not know if i can make it unchangable? and do you know if i can make the system do not lock my user after failed login attempt.
THANKS IN ADVANCE!
Cliff> Thanks for your answer however some trainee have full access to the system due to the basis course needs..
Have a look at grouping users and make sure the trainers are in a group that cannot be modified by the trainees. As a security consultant I tend to disbelieve anyone who claims to need 'full access'. What is this course about? "How to administer a complete SAP system all alone? "
Apart from that I always tell my trainees to behave or they'll fail the course/test/certification. I always assume I deal with adults when SAP is concerned.
> for the second part why i can not change login/fails_to_user_lock in RZ11? I have "SAP_ALL" authorization
That could be because it is in the default profile or instance profile. Have a look at RZ10 instead. (http://help.sap.com/saphelp_nw04/helpdata/EN/22/41c43ac23cef2fe10000000a114084/frameset.htm and http://help.sap.com/saphelp_nw04/helpdata/EN/c4/3a6247505211d189550000e829fbbd/frameset.htm)
Jurjen (Heeck is my last name)
Edited by: Jurjen Heeck on Sep 3, 2008 9:12 AM -
How can I make Navivation buttons remain coded through different scenes?
Ladies and Gents,
I am working on a flash website for an artist with a lot of work. In order to maintain my timeline clean and organized I have created multiple scenes to display the artwork.
There is a home button and a a main navigation bar (present in every scene)
there is also a sub navigation bar that leads to the artwork.
The code is very simple and constant for all the buttons:
btnHome.addEventListener(MouseEvent.CLICK, home);
function home(evt:Event):void{
gotoAndPlay(1, "Home");
This works only in the scene where I first placed the code (Scene "Art"). The rest of the scenes give me this error
ArgumentError: Error #2108: Scene Home was not found.
at flash.display::MovieClip/gotoAndPlay()
at Susan_Giles_MultipleScenes_Scene1999_fla::MainTimeline/home_1999()
I am very confused because flash can find the scene "Home" and the other 11 scenes from the scene ART, but it cannot locate them from any other scene.... what am I doing wrong?
I will appreciate all help.
Thanks in Advance.
J.One way would be to make the movieclip clickable. That would make it block the other objects behind it...
mc.onRelease = function(){ }
mc.useHandCursor = false; // to hide the hand cursor
Another way would be to disable the buttons while the movieclip is present...
btn.enabled = false;
Another way would be to build conditional code into the button clicking code to not work if the movieclip is visible.
btn.onRelease = function(){
if(!mc._visible){
// okay to do stuff -
Row 6 in this spreadsheet is the result of Row 2/Row 3 as evidenced by the formula listed while Cell Y6 selected. How can I make the values in this row appear as durations of minutes and seconds rather than 3-digit decimals? For example, rather than appearing as 9.84 I would like the value of Cell Y6 to appear as 9:50 or 9min 50sec. (obviously .84x60seconds 50 seconds). I tried changing the cell formats from "number" to "duration," but no change is made. Using the "duration" format does however work if I am manually entering the decimal value into the cell rather than allowing it to result from another caluclation within the spreadsheet. Is there a solution to this within Numbers '09? You can see why I would want the "pace" displayed in minutes and seconds. Thanks in advance!
RyanHi Ryan,
You wrote:
"The problem is that my "Distance" is a row of automatically generated values resulting from ((Row1/60)*Row 6). Changing the format of Row 1 to minutes causes row two to be expressed as a duration, which obviously it shouldn't because it is a distance. The spreadsheet has to be designed so that all I have to manually input on each entry are Row 1 Values (Time) and Row 6 Values (Average Pace). The rest of the cells must be automatically poulated as a result of formulas."
I'm assuming that where you say "Row 1" in this you mean "Row 2", which is labeled "Time" in the example in the OP.
In the original post, you presented a formula from cell Y6. Replacing the Header labels in that formula's cell reference with the Addresses of the referenced cells, the formula was:
Y6: =Y2/Y3
In this post, you are saying that Y6 contains entered data: "...all I have to manually input on each entry are Row 1 Values (Time) and Row 6 Values (Average Pace).
Which is correct?
Regards,
Barry -
How can I make invoice when down payment is bigger than item value ?
Dear all,
please, I need make invoice with bigger down payment than the item value.
How can I make invoice when down payment clearing value is bigger than the item value ?
When I do Release To Accounting, I have got a massage:
"Total of down payment to be billed too high. See billing document item XXXXX"
Please, how can I solve this problem?
Thank you
PeterHello,
I would like to underline that this is not a problem, but a standard, and in my opinion rightful behaviour of SAP: in a dowpayment process, when you create the invoice document, you should deduct only an amount less or equal to the invoice amount. And in the following invoices you will deduct the remaining downpayment amounts still open.
Also under al legal and fiscal point of view, I guess how would you print the invoice? With a minus value?
Best regards,
Andrea -
How can I make the combo box turn to the value of black.
When the show button is pressed (and not before), a filled black square should be
displayed in the display area. The combo box (or drop down list) that enables the user to choose the colour of
the displayed shape and the altering should take effect immediately.When the show button is pressed,
the image should immediately revert to the black square, the combo box should show the value that
correspond to the black.
Now ,the problem is: after I pressed show button, the image is reverted to the black square,but I don't know
how can I make the combo box turn to the value of black.
Any help or hint?Thanks a lot!
coding 1.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test extends JFrame {
private JPanel buttonPanel;
private DrawPanel myPanel;
private JButton showButton;
private JComboBox colorComboBox;
private boolean isShow;
private int shape;
private boolean isFill=true;
private String colorNames[] = {"black", "blue", "cyan", "darkGray", "gray",
"green", "lightgray", "magenta", "orange",
"pink", "red", "white", "yellow"}; // color names list in ComboBox
private Color colors[] = {Color.black, Color.blue, Color.cyan, Color.darkGray,
Color.gray, Color.green, Color.lightGray, Color.magenta,
Color.orange, Color.pink, Color.red, Color.white, Color.yellow};
public test() {
super("Draw Shapes");
// creat custom drawing panel
myPanel = new DrawPanel(); // instantiate a DrawPanel object
myPanel.setBackground(Color.white);
// set up showButton
// register an event handler for showButton's ActionEvent
showButton = new JButton ("show");
showButton.addActionListener(
// anonymous inner class to handle showButton events
new ActionListener() {
// draw a black filled square shape after clicking showButton
public void actionPerformed (ActionEvent event) {
// call DrawPanel method setShowStatus and pass an parameter
// to decide if show the shape
myPanel.setShowStatus(true);
isShow = myPanel.getShowStatus();
shape = DrawPanel.SQUARE;
// call DrawPanel method setShape to indicate shape to draw
myPanel.setShape(shape);
// call DrawPanel method setFill to indicate to draw a filled shape
myPanel.setFill(true);
// call DrawPanel method draw
myPanel.draw();
myPanel.setFill(true);
myPanel.setForeground(Color.black);
}// end anonymous inner class
);// end call to addActionListener
// set up colorComboBox
// register event handlers for colorComboBox's ItemEvent
colorComboBox = new JComboBox(colorNames);
colorComboBox.setMaximumRowCount(5);
colorComboBox.addItemListener(
// anonymous inner class to handle colorComboBox events
new ItemListener() {
// select shape's color
public void itemStateChanged(ItemEvent event) {
if(event.getStateChange() == ItemEvent.SELECTED)
// call DrawPanel method setForeground
// and pass an element value of colors array
myPanel.setForeground(colors[colorComboBox.getSelectedIndex()]);
myPanel.draw();
}// end anonymous inner class
); // end call to addItemListener
// set up panel containing buttons
buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(4, 1, 0, 50));
buttonPanel.add(showButton);
buttonPanel.add(colorComboBox);
JPanel radioButtonPanel = new JPanel();
radioButtonPanel.setLayout(new GridLayout(2, 1, 0, 20));
Container container = getContentPane();
container.setLayout(new BorderLayout(10,10));
container.add(myPanel, BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.EAST);
setSize(500, 400);
setVisible(true);
public static void main(String args[]) {
test application = new test();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
coding 2
import java.awt.*;
import javax.swing.*;
public class DrawPanel extends JPanel {
public final static int CIRCLE = 1, SQUARE = 2;
private int shape;
private boolean fill;
private boolean showStatus;
private int shapeSize = 100;
private Color foreground;
// draw a specified shape
public void paintComponent (Graphics g){
super.paintComponent(g);
// find center
int x=(getSize().width-shapeSize)/2;
int y=(getSize().height-shapeSize)/2;
if (shape == CIRCLE) {
if (fill == true){
g.setColor(foreground);
g.fillOval(x, y, shapeSize, shapeSize);
else{
g.setColor(foreground);
g.drawOval(x, y, shapeSize, shapeSize);
else if (shape == SQUARE){
if (fill == true){
g.setColor(foreground);
g.fillRect(x, y, shapeSize, shapeSize);
else{
g.setColor(foreground);
g.drawRect(x, y, shapeSize, shapeSize);
// set showStatus value
public void setShowStatus (boolean s) {
showStatus = s;
// return showstatus value
public boolean getShowStatus () {
return showStatus;
// set fill value
public void setFill(boolean isFill) {
fill = isFill;
// set shape value
public void setShape(int shapeToDraw) {
shape = shapeToDraw;
// set shapeSize value
public void setShapeSize(int newShapeSize) {
shapeSize = newShapeSize;
// set foreground value
public void setForeground(Color newColor) {
foreground = newColor;
// repaint DrawPanel
public void draw (){
if(showStatus == true)
repaint();Hello,
does setSelectedIndex(int anIndex)
do what you need?
See Java Doc for JComboBox. -
How can I make a playlist unchangable?
How can I make a playlist unchangable?
Right-click on it and choose "Copy to Play Order"
The songs can no longer be re-arranged (assuming that's what you meant). I think songs can still be added and deleted.
CG -
How can I make a chart ignore cells until their value is changed from 0?
In the corresponding table, I used conditional formatting to hide zeros in the highlighted row by conditionally changing the text color to that of the table background. However, the zero value's are still represented in the corresponding chart as you can see in the attached photo . How can I make the chart ignore certain cells only until their values are changed from zero? Thanks in advance!
RyanHi Ryan,
Leave the cells empty until they're needed, or, if the cells' contents are determined by a formula, revise the formula to insert a null string if the value is zero.
=IF(your formula = 0, "", your formula)
Regards,
Barry -
When pressing Ctrl+f to find something in a page the Find box remains open until I close it, in ALL tabs I have in the firefox window. How can I make firefox open the Find box ONLY in the tab I am in?
Firefox 4 and later versions save the previous session automatically, so there is no longer need for the dialog asking if you want to save the current session.<br />
Use "File > Exit" or "Firefox > Exit" (Mac: "Firefox > Quit Firefox") if you want to restore multiple windows.<br />
You can use "History > Restore Previous Session" to get the previous session at any time.<br />
You may need to click the orange/gray Firefox button to see History.<br />
There is also a "Restore Previous Session" button on the default <b>about:home</b> Home page.
Another possibility is to use:
* [http://kb.mozillazine.org/Menu_differences Firefox/Tools > Options] > General > Startup: "When Firefox Starts": "Show my windows and tabs from last time" -
How can I make "F5" key value to System
subject : How can I make "F5" key value to System
I like to refresh web page automatically.
so I have to input "F5" key value of keyboard to local system.
How can I do this job ?Thank you so much !
I solved the problem thanks to your advice .
Thank you again~ -
How Can I make redirect caller from agent to any branch IVR?
I have IPCC Enterprise Edition (ICM 5.0, IVR 3.1)
How can I make redirect caller from agent to chosen branch IVR, and send with call any variable to IVR (e.g. account number).
Regards
KrzysztofI would suggest that post-routing should not be used. The way to go is to use translation routing applications. Although post-routing is easy to set up, almost all deployments require translation routing. I can't think of anything good to say about post routing, other than it's trivial to configure.
You want the main route point to be on the CM_PIM.RC for a number of reasons. You can check to see which of your IVRs are on line, and/or to do load balancing. If calls don't need to go to the IVR if agents are ready, you can have an LAA Select node immediately, and then translation route. Even if you just have one IVR, translation routing will enable you to do RONA more easily.
You need to bite the bullet and learn translation routing. If you do it that way, peripheral variables attached to the call remain unaffected whether the call is under the control of the CM_PIM.RC or the IVR_PIM.RC. This is exactly what you want.
There is no need, in my opinion, to go to an external database. In your IVR, decisions made by the caller (e.g. which "skill" they want) set peripheral variables. When the call comes out of this script you check the peripheral variable, and depending on the value do a queue to the appropriate skill group and run external script (BasicQ.aef).
Separate the intelligence gathering IVR script from the Queuing script. Allow ICM to make the routing decisions. -
How can I make sure that in RAM our sql server is not facing any mermory crunch issue?
The SQL server process always show RAM is highly used while its a default behaviour of sql server.
How can I make sure that in RAM our sql server is not facing any mermory crunch issue?
ThanksThe SQL server process always show RAM is highly used while its a default behaviour of sql server.
How can I make sure that in RAM our sql server is not facing any mermory crunch issue?
Thanks
The best way to make sure you are not facing memory pressure is to use perfmon counters and monitor various memory counters
For SQL Server 2005 - 2008 r2 use below counters
SQLServer:Buffer Manager--Buffer Cache hit ratio(BCHR): IIf your BCHR is high 90 to 100 Then it points to fact that You don't have memory pressure. Keep in mind that suppose somebody runs a query which request large amount of pages in that
case momentarily BCHR might come down to 60 or 70 may be less but that does not means it is a memory pressure it means your query requires large memory and will take it. After that query completes you will see BCHR risiing again
SQLServer:Buffer Manager--Page Life Expectancy(PLE): PLE shows for how long page remain in buffer pool. The longer it stays the better it is. Its common misconception to take 300 as a baseline for PLE. But it is not,I read it from
Jonathan Kehayias book( troubleshooting SQL Server) that this value was baseline when SQL Server was of 2000 version and max RAM one could see was from 4-6 G. Now with 200G or RAM coming into picture this value is not correct. He also gave the formula( tentative)
how to calculate it. Take the base counter value of 300 presented by most resources, and then determine a multiple of this value based on the configured buffer cache size, which is the 'max server memory' sp_ configure option in SQL Server, divided by 4 GB.
So, for a server with 32 GB allocated to the buffer pool, the PLE value should be at least (32/4)*300 = 2400. So far this has done good to me so I would recommend you to use it.
SQLServer:Buffer Manager--CheckpointPages/sec: Checkpoint pages /sec counter is important to know about memory pressure because if buffer cache is low then lots of new pages needs to be brought into and flushed out from buffer pool,
due to load checkpoint's work will increase and will start flushing out dirty pages very frequently. If this counter is high then your SQL Server buffer pool is not able to cope up with requests coming and we need to increase it by increasing buffer pool memory
or by increasing physical RAM and then making adequate changes in Buffer pool size. Technically this value should be low if you are looking at line graph in perfmon this value should always touch base for stable system.
SQLServer:Buffer Manager--Freepages: This value should not be less you always want to see high value for it.
SQLServer:Memory Manager--Memory Grants Pending: If you see
memory grants pending in buffer pool your server is facing SQL Server memory crunch and increasing memory would be a good idea. For memory grants please read this article:
SQLServer:memory Manager--Target Server Memory: This is amount of memory SQL Server is trying to acquire.
SQLServer:memory Manager--Total Server memory This is current memory SQL Server has acquired.
8. Free List Stalls/sec – Number of requests per second that had to wait for a free page
9. Free Pages – Total number of pages on all free lists (free lists track all of the pages in the buffer pool that are not currently allocate to a data page, and are therefore available for usage immediately)
NOTE: If you have NUMA system don't use PLE to monitor memory condition it wont give correct value
From 2012 Onwards
Memory management has become easy from 2012 onwards as
Max server memory also allocated memory for requests which require memory >8KB
SQLServer:Memory Manager:Free Memory (KB)
SQLServer:Memory Manager:Target Server Memory (KB)
SQLServer:Memory Manager:Total Server Memory (KB)
For NUMA system its also wort monitoring each node.
Object - SQLServer:Memory Node:Total Node Memory
(KB)
Object - SQLServer:Memory Node:Target Node Memory
(KB)
Object - SQLServer:Memory Node:Free Node Memory
(KB)
Ideally if target server memory is less than or equal to total server memory there wont be memory pressure if target is > total it does not always means its memory pressure
BCHR would also give you good idea about memory pressure
If memory grants pending is frequently non zero there is memory pressure
Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
My Technet Wiki Article
MVP -
How can we make attribute as Key
Hi
We have a Custom Master data field ZMATERIAL which has Sales Org and Product class as Nav. Attributes. Data is populated from 3.x data source generated on APO Planning area.
The issue is our Materials have different Product class values with respect to Sales Org.
For e.g. Material1 has Product class 10 for Sales org A
Same Material1 has Product class 20 for Sales org B.
When I load data into ZMATERIAL I can see only Material1 with Product class 20 for Sales org B as Material number is the only Key. Second record overwrites the first one. How can I make Sales Org as Key field?
Thanks in advance.
SreeHi,
If you add Sales Org as a compounding field in the material info object.This will ensure that both material and sales org act as the key for the table.
Data Loading mechanism can still remain the same.
For more details on compounding, check the link below:
http://help.sap.com/saphelp_nw04/helpdata/en/ff/f470375fbf307ee10000009b38f8cf/frameset.htm
-Vikram -
How can I make a weekly 'to do' list? I don't want it associated with a particular day or or time, just the week, preferably with the ability to check off or remove when done.
Thank you for the excellent reference Peddi. I had played with the OAMessageChoiceBean component yesterday, but I was able to tell from your instructions that "Picklist Display Attribute" and "Picklist Value Attribute" really are not for binding to the database EO. That was the key piece of information that had me confused.
In addition to adding the messageChoice component to the page, I needed to write some code to synchronize the picklist value with the corresponding code value, which I placed in am OAFormValueBean (hidden form field) which I could then bind to my application's database EO in the controller, running in the processFormRequest procedure:
/** Synchronize the catalog code with the selected catalog name */
protected void syncCatalogValues(OAPageContext pageContext,
OAWebBean webBean, MyApplicationAMImpl am) {
OAMessageChoiceBean mcb =
(OAMessageChoiceBean) webBean.findChildRecursive("CatalogName");
OAFormValueBean cc =
(OAFormValueBean) webBean.findChildRecursive("CatalogCode");
String catalogDescription = mcb.getText(pageContext);
if (catalogDescription != null) {
String catalogCode = am.getCatalogCode(catalogDescription);
cc.setValue(pageContext, catalogCode);
Along with a little code to get the catalogCode value from the LOVVO, that's all it took.
Thanks again. This was a great help.
Pete
Maybe you are looking for
-
Inserting 10 million rows in to a table hangs
HI through toad iam using a simple for loop to insert 10 million rows into a table by saying for i in 1 ......10000000 insert................. It hangs ........ for lot of time is there a better way to insert the rows in to the table....? i have to t
-
Wireless Aluminum Keyboard Troubleshooting
If you're having issues with your Apple Wireless (Aluminum) Keyboard disconnecting, there are a few things you can try. First, check your wireless network configuration to see if you can avoid interference. See this post in another topic: http://disc
-
I have a Hanns.G external monitor that no longer goes to energy saver mode (displays no signal input - check video cable) when I put my MacPro to sleep. This has been the case since I installed the MacOSX 10.6.3 update. I've reset both the PRAM and S
-
Illustrator CS3/4 Plug-In to Preview Colors
I have about 300 different color swatch palettes in Illustrator. I have tried to name them accordingly however, I just can not remember the colors included in each. I was wondering if there was some sort of plug in or utility used to "preview" the co
-
Opening VI written in labview 5.0 with version 8.5
Hi, I am new to Labview. I have VIs to capture the Tektronics real time scope waveforms written in Labview 5.0. I am currently using is evaluation version 8.5. I am getting an error that the new version does not support these old files. I just want t